메뉴 건너뛰기

SAP 한국 커뮤니티

activeman님께서 알려주신 테이블을 이용해 아래처럼 수정을 하니 STLAL의 값은 가져올 수 있었습니다.


그런데 STLAL = '02', '03' 일때는 'CS_BOM_EXPLOSION'을 돌아도 결과값은 나오지 않습니다.


분명히 BOM은 존재하는데... 제가 무엇을 빼먹은 부분이 있는가요?


 


*---------------------------------------------------------------------*
*      Form  BOM_EXP
*---------------------------------------------------------------------*
FORM BOM_EXP.
  REFRESH : IT_01, IT_05.
  CLEAR : IT_01, IT_05.


  SELECT *
  INTO CORRESPONDING FIELDS OF TABLE IT_05 " 추가
  FROM MAST " 추가
    WHERE MAST~MATNR IN S_MATNR " 추가
      AND MAST~WERKS IN S_WERKS. " 추가


  LOOP AT IT2_01. " 추가
    LOOP AT IT_05 WHERE MATNR = IT2_01-MATNR. " 추가
      IT2_01-STLAL = IT_05-STLAL. " 추가
      MODIFY IT2_01. " 추가
    ENDLOOP. " 추가
  ENDLOOP. " 추가


  LOOP AT IT2_01.
    CLEAR : TEMP_STBP.
    READ TABLE IT2_01 INDEX SY-TABIX.
    WRITE IT2_01-WERKS TO PA_WERKS.
    WRITE IT2_01-MATNR TO PA_MATNR.
    WRITE IT2_01-STLAL TO PA_STLAL.


    IT_01-MATNR      = IT2_01-MATNR.
    IT_01-MAKTX      = IT2_01-MAKTX.
    IT_01-MTART      = IT2_01-MTART.
    IT_01-WERKS      = IT2_01-WERKS.
    IT_01-GI_03_QTY  = IT2_01-GI_03_QTY.
    IT_01-MEINS      = IT2_01-MEINS.
    IT_01-GI_03_FACT = IT2_01-GI_03_FACT.
    IT_01-WAERS      = IT2_01-WAERS.
    IT_01-STUFE      = '0'.
    IT_01-STLAL      = IT2_01-STLAL.
    IT_01-MATNR_C    = IT2_01-MATNR.
    APPEND IT_01.


    PERFORM BOM_EXP1 TABLES IT_01
            USING PA_MATNR PA_WERKS PA_STLAL SY-DATUM CHANGING LAST.
  ENDLOOP.


ENDFORM.


*---------------------------------------------------------------------*
*      Form  BOM_EXP
*---------------------------------------------------------------------*
FORM BOM_EXP1 TABLES P_BOM_EXPLODED STRUCTURE IT_01
     USING P_IDNRK P_WERKS P_STLAL P_DATUV CHANGING P_LAST.


  CALL FUNCTION 'CS_BOM_EXPLOSION'
    EXPORTING
      CAPID = 'PP01'
      DATUV = P_DATUV
      MTNRV = P_IDNRK
      WERKS = P_WERKS
      STLAL = P_STLAL
      MEHRS = 'X'
    TABLES
      STBP = IT_STBP
      STBD = IT_STBD
      STBE = IT_STBE
      STBK = IT_STBK
      STBM = IT_STBM
      STBT = IT_STBT
    EXCEPTIONS
      ALT_NOT_FOUND         = 1
      CALL_INVALID          = 2
      MISSING_AUTHORIZATION = 4
      NO_BOM_FOUND          = 5
      NO_PLANT_DATA         = 6
      NO_SUITABLE_BOM_FOUND = 7
      CONVERSION_ERROR      = 8
      OTHERS                = 9.


    LOOP AT IT_STBP.
      TEMP_STBP-OBJNR = IT_STBP-OBJNR.
      TEMP_STBP-WERKS = P_WERKS.
      TEMP_STBP-STLAL = IT_STBP-STLAL.
      APPEND TEMP_STBP.
    ENDLOOP.


    IF SY-SUBRC <> 0.
      P_LAST = 'X'.
    ELSE.
      LOOP AT TEMP_STBP.
        IT_01-MATNR      = IT2_01-MATNR.
        IT_01-MAKTX      = IT2_01-MAKTX.
        IT_01-MTART      = IT2_01-MTART.
        IT_01-WERKS      = IT2_01-WERKS.
        IT_01-GI_03_QTY  = IT2_01-GI_03_QTY.
        IT_01-MEINS      = IT2_01-MEINS.
        IT_01-GI_03_FACT = IT2_01-GI_03_FACT.
        IT_01-WAERS      = IT2_01-WAERS.
        IT_01-STUFE      = ''.
        IT_01-STLAL      = TEMP_STBP-STLAL.
        IT_01-MATNR_C    = TEMP_STBP-OBJNR.
        APPEND IT_01.
      ENDLOOP.


      LOOP AT TEMP_STBP. " 추가
        LOOP AT IT_05 WHERE MATNR = TEMP_STBP-OBJNR. " 추가
          TEMP_STBP-OBJNR = IT_05-MATNR. " 추가
          TEMP_STBP-WERKS = IT_05-WERKS. " 추가
          TEMP_STBP-STLAL = IT_05-STLAL. " 추가
          COLLECT TEMP_STBP. " 추가
        ENDLOOP. " 추가
      ENDLOOP. " 추가


      DELETE TEMP_STBP WHERE STLAL = '01'.
      DELETE TEMP_STBP WHERE STLAL = ''.


      LOOP AT TEMP_STBP.
        READ TABLE TEMP_STBP INDEX SY-TABIX.
        WRITE TEMP_STBP-WERKS TO PA_WERKS.
        WRITE TEMP_STBP-OBJNR TO PA_MATNR.
        WRITE TEMP_STBP-STLAL TO PA_STLAL.


        PERFORM BOM_EXP1 TABLES P_BOM_EXPLODED
                USING PA_MATNR PA_WERKS PA_STLAL P_DATUV CHANGING P_LAST.


        CLEAR P_LAST.
      ENDLOOP.
    ENDIF.
ENDFORM.

번호 제목 글쓴이 날짜 조회 수
1252 <b>[완료]</b>도와주세요 NetWeaver 깔려고 하는데요... [4] 용스 2008.02.27 1927
1251 <b>[완료]</b>Cluster tables은 INNER JOIN 이 안되는가요? [3] ABAP짱! 2008.02.27 3709
1250 [요청]'미결항목을 찾지 못했습니다'라는 message.. [2] 아롱 2008.02.27 1470
1249 <b>[완료]</b>barcode.dll 없이 barcode 인쇄 할 수 있는 방법은 없는가요? (report) [3] 크리스~ 2008.02.27 1885
1248 <b>[완료]</b>sy-index와 sy-tabix의 차이가 궁금합니다. [7] kkk 2008.02.26 10421
1247 <b>[완료]</b>테이블 생성시 Initial values에 체크에 관하여 문의드립니다. [3] 풍뎅이 2008.02.26 6183
1246 <b>[완료]</b>테이블값 random 하게 읽어오기.. [6] 해처리 2008.02.26 1728
1245 <b>[완료]</b>table control 관련되서 질문드림니다. ^ ^ (유지보수뷰) [4] bd 2008.02.26 1549
1244 [요청]SE80에서 프로그램 옆의 Description에 관하여 문의드립니다. [5] 풍뎅이 2008.02.26 8042
1243 <b>[완료]</b>external alias의 대해 알려주세요~ [1] abap퍼 2008.02.26 101966
1242 <b>[완료]</b>프로그램 copy에서 화면에 대해 문의드립니다. [5] 풍뎅이 2008.02.26 2019
1241 <b>[완료]</b>기존시스템(4.6c)와 비교하여 ecc버전의 추가기능(sd에서 반품처리) 열심히 2008.02.26 1515
1240 <b>[완료]</b>인클루드와 관련된 화면에 관하여 문의드립니다. [4] 풍뎅이 2008.02.26 1130
1239 <b>[완료]</b>personal entries 질문입니다.... [1] 초보bsp/abap 2008.02.26 1275
1238 <b>[완료]</b>UNIX서버 PDF파일을 SAP로 읽어오는 방법?? [1] jm^^ 2008.02.25 1351
» [요청]Alternative BOM까지 가져올 수 있게 구현해 보신 분 안계신가요? [5] 행복한외계인 2008.02.25 1673
1236 [요청]개발프로그램을 완전히 새로 운영에 다시 넘길때 [4] 미인 2008.02.25 3046
1235 <b>[완료]</b>스탠다드 테이블에서 데이타가 존재하는 지만 체크할때? [5] 김지성 2008.02.25 1237
1234 [요청]펑션 코드를 알 수 있는 방법이 없을까요?? [1] 케로로중사 2008.02.23 1286
1233 <b>[완료]</b>function 분석 잘 할수 있는 비법점 알려주세요 [5] 초보bsp/abap 2008.02.23 2090