메뉴 건너뛰기

SAP 한국 커뮤니티

<b>[완료]</b>AT END OF f ....ENDAT 구문이 실행이 안되요...

seph 2008.08.26 21:55 조회 수 : 2010 추천:2



공급업체가 동일하면 하나의 PO만생성하도록 하는 프로그램을 짜고 있습니다.


AT NEW ~ ENDAT.


AT END OF ~ENDAT. 구분을 사용하였는데,


 


그림과 같이 공급업체가 동일함에도 불구하고 AT END OF  구문에 처음부터 실행되고, 통하질 않네요...


전혀 이유를 모르겠네요 -0-;; 고수님들! 잘못된 부분있으면 지적좀 해주세요!!


 


  SORT GT_EBAN BY FLIEF.


 


  LOOP AT GT_EBAN.
*-- Input P/O Header
    MOVE-CORRESPONDING GT_EBAN TO LT_RESULT.


    AT NEW FLIEF.
      GS_POHEADER-COMP_CODE   = LV_BUKRS.
      GS_POHEADER-DOC_TYPE    = LT_RESULT-BSART.
      GS_POHEADER-CREAT_DATE  = LV_AEDAT.
      GS_POHEADER-ITEM_INTVL  = LV_PINCR.
      GS_POHEADER-VENDOR      = LT_RESULT-FLIEF.
      GS_POHEADER-PURCH_ORG   = LV_EKORG.


      GS_POHEADERX-COMP_CODE   = 'X'.
      GS_POHEADERX-DOC_TYPE    = 'X'.
      GS_POHEADERX-CREAT_DATE  = 'X'.
      GS_POHEADERX-ITEM_INTVL  = 'X'.
      GS_POHEADERX-VENDOR      = 'X'.
      GS_POHEADERX-PURCH_ORG   = 'X'.
    ENDAT.


*-- Input P/O Item
    ADD LV_PINCR TO LV_EBELP.
    GT_POITEM-PO_ITEM        = LV_EBELP.
    GT_POITEM-PREQ_NO        = GT_EBAN-BANFN.
    GT_POITEM-PREQ_ITEM      = GT_EBAN-BNFPO.


    GT_POITEMX-PO_ITEM        = LV_EBELP.
    GT_POITEMX-PO_ITEMX       = 'X'.
    GT_POITEMX-PREQ_NO        = 'X'.
    GT_POITEMX-PREQ_ITEM      = 'X'.


    APPEND: GT_POITEM, GT_POITEMX.


    AT END OF FLIEF.
      CLEAR: GS_EXPHEADER, GT_RETURN[].
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          POHEADER  = GS_POHEADER
          POHEADERX = GS_POHEADERX
        IMPORTING
          EXPHEADER = GS_EXPHEADER
        TABLES
          RETURN    = GT_RETURN[]
          POITEM    = GT_POITEM[]
          POITEMX   = GT_POITEMX[].


      IF NOT GS_EXPHEADER-PO_NUMBER IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            WAIT = 'X'.
      ENDIF.


      LT_RESULT-ZBSART = GS_EXPHEADER-DOC_TYPE.
      LT_RESULT-ZEBELN = GS_EXPHEADER-PO_NUMBER.
      LT_RESULT-ZEKGRP = GS_EXPHEADER-PUR_GROUP.
      LT_RESULT-ZLIFNR = GS_EXPHEADER-VENDOR.
      LT_RESULT-ZWAERS = GS_EXPHEADER-CURRENCY.



      READ TABLE GT_RETURN INDEX 1.
      LT_RESULT-MESSAGE = GT_RETURN-MESSAGE(100).


 


*-- Exception 신호등 처리
      IF GS_EXPHEADER-PO_NUMBER IS INITIAL.
        LT_RESULT-ICON = '1'.
      ELSE.
        LT_RESULT-ICON = '3'.
      ENDIF.


      MOVE-CORRESPONDING LT_RESULT TO GT_EBAN.
      MODIFY GT_EBAN.


      CLEAR : GS_POHEADER, GS_POHEADERX, GS_EXPHEADER, LT_RESULT,
              GT_POITEM[], GT_POITEMX[], GT_RETURN[].
      CLEAR : LV_EBELP, LV_AEDAT.
    ENDAT.


  ENDLOOP.

번호 제목 글쓴이 날짜 조회 수
2199 [요청]bsp 선택한 라인값 읽어들이는 법 문의드립니다. [1] 야호 2008.08.28 1753
2198 <b>[완료]</b>bsp 오류 입니다.. 알려주세요..ㅜㅜ 신영미 2008.08.28 1903
2197 [요청]스마트폼에서 버튼 비활성화에 대해 문의드립니다. [1] 풍뎅이 2008.08.28 1786
2196 <b>[완료]</b>AT NEW... ENDAT. 중복 구문에 대해 궁금해요~@ [4] seph 2008.08.28 2214
2195 [요청]REUSE_ALV_GRID_DISPLAY에서 CELL 제어 질문입니다. 삶은달걀과사이다 2008.08.28 2607
2194 <b>[완료]</b>lt_outtab, gt_outtab, wt_outtab 의 차이는 무엇인가요?>? [4] 배불뚝이용 2008.08.28 1293
2193 [요청]table control의 숨김시 하단 alv의 크기변화에 대한 질문입니다. [1] file 무풍지대 2008.08.28 1359
2192 [요청]SEARCH HELP에 관해 문의드립니다... [3] 풍뎅이 2008.08.28 1880
2191 [요청]Function을 이용한 ALV 에서... Refresh 하는법?? [2] seph 2008.08.28 2240
2190 <b>[완료]</b>2224번 질문 관련 추가 질문입니다. [7] 아밥초보입니다 2008.08.27 1085
2189 <b>[완료]</b>Job 관련 Application Server 지정에 관한 질문입니다. [2] kms 2008.08.27 1133
2188 [요청]ALV에서 수정버튼으로 수정<->조회 가능하게 STYL사용!! [4] CoolGuy 2008.08.27 1596
2187 [요청]엑셀 데이터 채우면서 alt+enter 효과 낼 수 있는 방법좀 알려주세요. [1] 김기만 2008.08.27 2427
2186 <img src=3.gif border=0>[요청]EQ , = 을 누가 속 시원하게 알려 주실수 있는 분 계신가요 ? [7] 꼬맹이 2008.08.27 1246
2185 <b>[완료]</b>RH_BASE_UPDATE_DB_DIALOG ==> 요 함수를 아시나요? unicrn 2008.08.27 1090
» <b>[완료]</b>AT END OF f ....ENDAT 구문이 실행이 안되요... [3] file seph 2008.08.26 2010
2183 <b>[완료]</b>bsp에서 조회조건 입력가능값( F4 ) 어떻게 구현하나요? [2] 야호 2008.08.26 1807
2182 <b>[완료]</b>DATA_CHANGED 이벤트에서 SY-UCOMM 값을 가지고 오는 방법을 알수 있을까요? [1] Storyguy™ 2008.08.26 1728
2181 [요청]raise events에 대해........................ [1] 앙리 2008.08.26 1959
2180 <b>[완료]</b>Native SQL에서 select가 안됩니다. [4] SkyDream 2008.08.26 1257