본문 바로가기
728x90
반응형

ABAP5

<ABAP> 파일전송(OPEN DATASET) 시에 고정자릿수로 전송하는법(라인 일정길이 고정 유지 파일 전송) 1번째 라인 파일크기와 2번째 라인 파일크기를 비교해보자 1번은 142115 , 2번은 141741이다. 데이터는 동일한 상태인데 전송시에 파일길이 유지를 안해줘서 스트럭쳐의 마지막 필드값이 비어있었기에 빈값들이 안들어가서 파일이 만들어진 것이다. 즉, 라인길이를 200자 고정으로 하고싶었는데 맨 마지막 필드길이가 100자리이고 그게이 비어있어 100자만 만들어진 것이다... 그러면 스트럭쳐 필드의 길이를 모두 합산하여 라인길이를 유지하는 방법은 무엇일까? 빈칸만큼 뭐 스페이스를 넣어주거나 그래야 하나? 아니다.. 코드는 매우 심플하다. 아래처럼 각 라인들을 transfer 하면서 length 를 지정해 주면 된다... open dataset file_path. 해서 파일만들어열고 transfer to .. 2024. 4. 4.
<ABAP> Itab 을 excel 첨부후 메일 전송(internal table to excel attached and send mail) *미리말해두는 부분* text 하드코딩은 하지 않는게 좋다.. 물론 난 코드에 해뒀는데 사실 text심볼에 넣는게 맞다. 텍스트 하드코딩 하면 하수란 소리를 듣는다.. 그래서 하수코딩을 하였다... ㅎ 그러니 이걸 정보로 만드는 초중고급자분들은 나와같이 짜지말고 text symbol을 쓰자.. (사실 업그레이드 계획이있어서 ...) *요약 포인트* 사용한 주요 펑션(key function..) 1. so_folder_root_id_get 2. so_new_document_att_sendapi1 (mail용) 3. so_document_insert_api1 (저장용) -----'아래는 alv 조회 후 다운할때 씀 4. so_document_read_api1 (읽어오는용) 5. so_object_downlo.. 2024. 3. 6.
(abap) 문자속 특수문자 찾기 숫자속 문자 찾기 find character in string or in number 1. 숫자만 포함된 것을 체크할때 data : lv_str type string value '1234.12'. "점 찍혀있으니 에러 내야함 co는 contain only 즉 아래는 숫자만 허락한다는 뜻. if lv_str co '0123456789'. write : 'ok'. else. write : 'error'. 에러날꺼임.. endif. 2. 적어도 1개의 알파벳 or 숫자를 포함한 것을 체크할 때 CA 활용 if lv_str ca sy-abcde. "abcde... 등의 문자가 1개라도 포함되면!!! write : ok. else. 에러 endif. 3. 이 모든걸 아우를 수 있는 펑션 존재 I_valid의 경우 내가 포함하고 싶은 특수문자들을 넣어주면 된다. 가령 I_valid = '₩+×÷='.. 2018. 3. 15.
<ABAP> CONVERT Num to char, Char to num ( 변환 ) 오늘도 쌩기초를 정리하고 있는데.. 문득 이런 생각이 들었다. Number field 를 Character 로 바꾸어야만 하나? 혹은 Character를 number field에 넣을때 변환해야 하나? 그래서 실험해본다. This is test Source!!! (24년에 이글을 보고 깨달은 점... 아.... 개념이 틀렸구나..ㅎㅎㅎ ) 24.02 간단 추가설명함... type N 으로 선언된 것들은 numeric character 즉 숫자형 문자로.... 문자필드가 아니다... 이걸로 선언하면 어찌되냐면 자릿수대로 0이 찬다. 즉, 숫자필드6자리 10을 N타입 6자리로 보내면 000010 이 되는것이다.... 그래서 진짜 문자로 선언된 필드의 숫자를 숫자필드에 넣으려면 안전하게 아래 펑션을 이용해라... 2012. 8. 28.
728x90
반응형