IT WORK/SAP FI and ABAP

[SAP ABAP] SAP Script Painter (SE71)에 전역변수 추가하기 (F110 지급매체 출력시 reguh-zstra에 35자 넘는 주소 출력하기)

Bathildis 2026. 2. 3. 14:30
반응형

이런식으로 지급방법에 지급 매체 서식이 지정되어있는 경우는 SE71에서 해당 서식을 관리할 수 있다.

이번에 문제가 되었던 것은 BP의 도로주소(Street)이 60자 까지 등록이 되어있어도

해당 서식에서 ADDRESS의 width를 넓게 해주어도 주소가 짤린다는 것이었다.

 

SE71에서 해당 윈도우(내 경우는 ADDRESS)를 더블클릭해서 파란색으로 선택한 다음 Edit > Text Elements 선택

 

Street은 REGUH-ZSTRA를 가져온다는 것을 알 수 있다.

참고로 /*는 Comment(주석)이라 관련 없음.

 

REGUH-ZSTRA를 보면 길이가 35자라 이미 해당 테이블에 주소 길이가 짤려서 들어가있다.

BP 주소 다른 컬럼에 나눠서 넣어도 되지만 어차피 출력할 때 CBO 프로그램을 사용 중이라 다른 방법을 모색해 봤다.

 

 

위에서 사용하는 프로그램에 전역변수로 GV_STREET을 선언해주었다.

참고로 이 회사는 RFFOUS_C를 Z로 카피해서 사용 중.

F01에서 AT NEW reguh-vblnr. 구문 안의 IF flg_kein_druck EQ 0. 안에 아래와 같이 로직을 작성했다.

ADRC-STREET은 길이가 60이기 때문에 안 잘림.

        CLEAR gv_street.
        IF reguh-lifnr IS NOT INITIAL AND reguh-adrnr IS NOT INITIAL.
          SELECT SINGLE street INTO gv_street
            FROM adrc
           WHERE addrnumber = reguh-adrnr.
        ENDIF.

        IF gv_street IS INITIAL.
          gv_street = reguh-zstra.
        ENDIF.

 

Program Symbols (Ctrl+F3)을 눌러서 방금 수정한 Z 출력프로그램을 선택 후 Global Data 클릭

 

앞에서 추가한 GV_STREET 선택 후 확인

 

REGUH-ZSTRA대신 GV_STREET이 해당 라인에 출력되어, 35자에서 잘리지 않고 정상적으로 주소가 표시될 수 있었다.

 

참고로 Form -> Activate를 해주어야 변경사항이 적용됨.

 

활성화 상태는 SE71에서 HEADER를 선택하고 들어오면 볼 수 있다.

 

 

참고) Text Element를 클릭했는데 아래처럼 MS Word창이 뜬다면

 

Goto > Configure Editor에서 Graphical Editor를 체크해제하면 된다.

반응형