当前位置:   article > 正文

SAP 供应商信息记录(合同)价格变更报表_sap 销售价格变更记录

sap 销售价格变更记录

 代码

  1. *&---------------------------------------------------------------------*
  2. *& REPORT ZRPT_MM_PRC_MDLST
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *& author 8256
  6. *& date 20220402
  7. *& from
  8. *& Tcode zprcmdlst
  9. *&---------------------------------------------------------------------*
  10. REPORT ZRPT_MM_PRC_MDLST.
  11. TABLES: A017,LFA1,MAKT,konp.
  12. SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.
  13. SELECT-OPTIONS S_LIFNR FOR A017-LIFNR. "供应商帐户号
  14. SELECT-OPTIONS S_MATNR FOR A017-MATNR. "物料编号
  15. SELECT-OPTIONS S_EKORG FOR A017-EKORG. "采购组织
  16. SELECT-OPTIONS S_WERKS FOR A017-WERKS. "工厂
  17. SELECT-OPTIONS S_DATBI FOR A017-DATBI. "条件记录有效截止日期
  18. PARAMETERS:PFLG AS CHECKBOX.
  19. SELECTION-SCREEN END OF BLOCK 001.
  20. TYPES:
  21. BEGIN OF TYP_DATA,
  22. LIFNR TYPE A017-LIFNR, "供应商帐户号
  23. MATNR TYPE A017-MATNR, "物料编号
  24. EKORG TYPE A017-EKORG, "采购组织
  25. WERKS TYPE A017-WERKS, "工厂
  26. DATBI TYPE A017-DATBI, "条件记录有效截止日期
  27. DATAB TYPE A017-DATAB, "条件记录有效起始日
  28. KNUMH TYPE A017-KNUMH, "条件记录号
  29. NAME1 TYPE LFA1-NAME1,
  30. MAKTX TYPE MAKT-MAKTX,
  31. KBETR TYPE KONP-KBETR,
  32. KPEIN TYPE KONP-KPEIN,
  33. KONWA TYPE KONP-KONWA,
  34. END OF TYP_DATA.
  35. DATA:
  36. STDATUM LIKE SY-DATUM,
  37. STUZEIT LIKE SY-UZEIT,
  38. GT_DATA TYPE TABLE OF TYP_DATA,
  39. GS_DATA TYPE TYP_DATA,
  40. GS_DATA1 TYPE TYP_DATA,
  41. GT_FIELDCAT TYPE LVC_T_FCAT,
  42. GS_FIELDCAT TYPE LVC_S_FCAT,
  43. GS_LAYOUT TYPE LVC_S_LAYO.
  44. INITIALIZATION.
  45. S_DATBI-HIGH = sy-datum.
  46. APPEND S_DATBI.
  47. %_S_LIFNR_%_APP_%-TEXT = '供应商帐户号'.
  48. %_S_MATNR_%_APP_%-TEXT = '物料编号'.
  49. %_S_EKORG_%_APP_%-TEXT = '采购组织'.
  50. %_S_WERKS_%_APP_%-TEXT = '工厂'.
  51. %_S_DATBI_%_APP_%-TEXT = '检查期间'.
  52. START-OF-SELECTION.
  53. STDATUM = SY-DATUM.
  54. STUZEIT = SY-UZEIT.
  55. PERFORM GET_DATA.
  56. PERFORM PROCESS_DATA.
  57. PERform WRITERPTRUNRECORD.
  58. PERFORM DISPLAY_DATA.
  59. *&---------------------------------------------------------------------*
  60. *& FORM GET_DATA
  61. *&---------------------------------------------------------------------*
  62. * 获取数据
  63. *----------------------------------------------------------------------*
  64. FORM GET_DATA.
  65. SELECT
  66. A017~LIFNR "供应商帐户号
  67. A017~MATNR "物料编号
  68. A017~EKORG "采购组织
  69. A017~WERKS "工厂
  70. A017~DATBI "条件记录有效截止日期
  71. A017~DATAB "条件记录有效起始日
  72. A017~KNUMH "条件记录号
  73. INTO TABLE GT_DATA
  74. FROM A017
  75. WHERE A017~LIFNR IN S_LIFNR
  76. AND A017~MATNR IN S_MATNR
  77. AND A017~EKORG IN S_EKORG
  78. AND A017~WERKS IN S_WERKS
  79. AND A017~DATBI >= S_DATBI-LOW.
  80. ENDFORM. "GET_DATA
  81. *&---------------------------------------------------------------------*
  82. *& FORM WRITERPTRUNRECORD
  83. *&---------------------------------------------------------------------*
  84. * 获取数据
  85. *----------------------------------------------------------------------*
  86. FORM WRITERPTRUNRECORD.
  87. *TYPES:BEGIN OF TYP_BW,
  88. * BUKRS LIKE T001-BUKRS ,
  89. * WERKS LIKE T001W-WERKS ,
  90. * END OF typ_BW.
  91. *
  92. * DATA:
  93. * GT_BW TYPE TABLE OF TYP_BW,
  94. * GS_BW TYPE TYP_BW.
  95. * SELECT B~BUKRS A~WERKS
  96. * INTO (GS_BW-BUKRS,GS_BW-WERKS )
  97. * FROM T001K AS B
  98. * JOIN V_T001W_BWKEY AS A ON A~BWKEY = B~BWKEY
  99. * WHERE B~BUKRS = S_BUKRS AND A~WERKS IN S_WEKRS.
  100. GET TIME.
  101. CALL FUNCTION 'ZSYS_RPT_RUNRECORD'
  102. EXPORTING
  103. TCODE = SY-TCODE
  104. PROGRAMM = SY-CPROG
  105. * bukrs = GS_BW-BUKRS
  106. * werks = GS_BW-werks
  107. DATUMRST = STDATUM
  108. UZEITRST = STUZEIT
  109. BATCH = SY-BATCH
  110. DATUMREND = SY-datum
  111. UZEITREND = sy-UZEIT
  112. DATUMC = '20220402'
  113. RUNNER = SY-UNAME
  114. RPTSRC = '陈洲'.
  115. *ENDSELECT.
  116. ENDFORM. "WRITERPTRUNRECORD
  117. *&---------------------------------------------------------------------*
  118. *& FORM PROCESS_DATA
  119. *&---------------------------------------------------------------------*
  120. * 处理数据
  121. *----------------------------------------------------------------------*
  122. FORM PROCESS_DATA.
  123. data:plindx TYPE i.
  124. data:subindx TYPE i.
  125. LOOP AT GT_DATA INTO GS_DATA.
  126. IF PFLG = 'X'.
  127. IF GS_DATA-DATAB < S_DATBI-LOW AND GS_DATA-DATBI > S_DATBI-HIGH.
  128. DELETE GT_DATA INDEX SY-TABIX.
  129. CONTINUE.
  130. ENDIF.
  131. ENDIF.
  132. SELECT SINGLE NAME1 INTO GS_DATA-NAME1 FROM LFA1 WHERE LFA1~LIFNR = GS_DATA-LIFNR.
  133. SELECT SINGLE MAKTX INTO GS_DATA-MAKTX FROM MAKT WHERE MAKT~MATNR = GS_DATA-MATNR.
  134. "基准价格获取
  135. SELECT SINGLE KBETR KPEIN KONWA INTO (GS_DATA-KBETR,GS_DATA-KPEIN,GS_DATA-KONWA ) FROM KONP WHERE KNUMH = GS_DATA-KNUMH.
  136. MODIFY GT_DATA from GS_DATA.
  137. ENDLOOP.
  138. SORT GT_DATA BY WERKS LIFNR MATNR DATAB.
  139. IF PFLG = 'X'.
  140. LOOP AT GT_DATA INTO GS_DATA.
  141. PLINDX = SY-TABIX.
  142. CLEAR SUBINDX.
  143. LOOP AT GT_DATA into GS_DATA1 WHERE WERKS = GS_DATA-WERKS AND MATNR = GS_DATA-MATNR AND LIFNR = GS_DATA-LIFNR
  144. AND EKORG = GS_DATA-EKORG AND DATBI <> gs_data-DATBI.
  145. SUBINDX = SUBINDX + 1.
  146. ENDLOOP.
  147. IF SUBINDX = 0.
  148. DELETE GT_DATA INDEX PLINDX.
  149. ENDIF.
  150. ENDLOOP.
  151. ENDIF.
  152. ENDFORM. "PROCESS_DATA
  153. *&---------------------------------------------------------------------*
  154. *& Form BUILD_FIELDCAT
  155. *&---------------------------------------------------------------------*
  156. * TEXT
  157. *----------------------------------------------------------------------*
  158. FORM BUILD_FIELDCAT USING P_FIELDNAME TYPE FIELDNAME
  159. P_QFIELDNAME TYPE LVC_QFNAME
  160. P_CFIELDNAME TYPE LVC_CFNAME
  161. P_REF_TABLE TYPE LVC_RTNAME
  162. P_REF_FIELD TYPE LVC_RFNAME
  163. P_CONVEXIT TYPE CONVEXIT
  164. P_EMPHASIZE TYPE LVC_EMPHSZ
  165. P_SCRTEXT_L TYPE SCRTEXT_L
  166. P_NO_ZERO TYPE XFLAG.
  167. GS_FIELDCAT-FIELDNAME = P_FIELDNAME.
  168. GS_FIELDCAT-QFIELDNAME = P_QFIELDNAME.
  169. GS_FIELDCAT-CFIELDNAME = P_CFIELDNAME.
  170. GS_FIELDCAT-REF_TABLE = P_REF_TABLE.
  171. GS_FIELDCAT-REF_FIELD = P_REF_FIELD.
  172. GS_FIELDCAT-CONVEXIT = P_CONVEXIT.
  173. GS_FIELDCAT-EMPHASIZE = P_EMPHASIZE.
  174. GS_FIELDCAT-SCRTEXT_L = P_SCRTEXT_L.
  175. GS_FIELDCAT-NO_ZERO = P_NO_ZERO.
  176. GS_FIELDCAT-COLDDICTXT = 'L'.
  177. APPEND GS_FIELDCAT TO GT_FIELDCAT.
  178. CLEAR: GS_FIELDCAT.
  179. ENDFORM. "BUILD_FIELDCAT
  180. *&---------------------------------------------------------------------*
  181. *& FORM DISPLAY_DATA
  182. *&---------------------------------------------------------------------*
  183. * 显示数据
  184. *----------------------------------------------------------------------*
  185. FORM DISPLAY_DATA.
  186. PERFORM BUILD_FIELDCAT USING 'LIFNR' '' '' 'A017' 'LIFNR' '' '' '供应商帐户号' ''.
  187. PERFORM BUILD_FIELDCAT USING 'NAME1' '' '' 'LFA1' 'NAME1' '' '' '供应商帐户号' ''.
  188. PERFORM BUILD_FIELDCAT USING 'MATNR' '' '' 'A017' 'MATNR' '' '' '物料编号' ''.
  189. PERFORM BUILD_FIELDCAT USING 'MAKTX' '' '' 'MAKT' 'MAKTX' '' '' '物料编号' ''.
  190. PERFORM BUILD_FIELDCAT USING 'EKORG' '' '' 'A017' 'EKORG' '' '' '采购组织' ''.
  191. PERFORM BUILD_FIELDCAT USING 'WERKS' '' '' 'A017' 'WERKS' '' '' '工厂' ''.
  192. PERFORM BUILD_FIELDCAT USING 'DATBI' '' '' 'A017' 'DATBI' '' '' '条件记录有效截止日期' ''.
  193. PERFORM BUILD_FIELDCAT USING 'DATAB' '' '' 'A017' 'DATAB' '' '' '条件记录有效起始日' ''.
  194. PERFORM BUILD_FIELDCAT USING 'KNUMH' '' '' 'A017' 'KNUMH' '' '' '条件记录号' ''.
  195. PERFORM BUILD_FIELDCAT USING 'KBETR' '' '' 'KONP' 'KBETR' '' '' '价格' ''.
  196. PERFORM BUILD_FIELDCAT USING 'KPEIN' '' '' 'KONP' 'KPEIN' '' '' '价格单位' ''.
  197. PERFORM BUILD_FIELDCAT USING 'KONWA' '' '' 'KONP' 'KONWA' '' '' '货币' ''.
  198. gs_layout-cwidth_opt = 'X'.
  199. gs_layout-zebra = 'X'.
  200. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  201. EXPORTING
  202. I_CALLBACK_PROGRAM = SY-REPID
  203. " I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_ALV'
  204. I_CALLBACK_USER_COMMAND = 'USER_COMMAND_ALV'
  205. IT_FIELDCAT_LVC = GT_FIELDCAT
  206. IS_LAYOUT_LVC = GS_LAYOUT
  207. I_DEFAULT = 'X'
  208. I_SAVE = 'A'
  209. TABLES
  210. T_OUTTAB = GT_DATA
  211. EXCEPTIONS
  212. OTHERS = 1.
  213. ENDFORM. "DISPLAY_DATA
  214. **&---------------------------------------------------------------------*
  215. **& FORM PF_STATUS_ALV
  216. **&---------------------------------------------------------------------*
  217. ** TEXT
  218. **----------------------------------------------------------------------*
  219. *FORM PF_STATUS_ALV USING RT_EXTAB TYPE SLIS_T_EXTAB .
  220. * SET PF-STATUS 'STATUS_ALV' EXCLUDING RT_EXTAB.
  221. *ENDFORM. "PF_STATUS_ALV
  222. *&---------------------------------------------------------------------*
  223. *& FORM USER_COMMAND_ALV
  224. *&---------------------------------------------------------------------*
  225. * TEXT
  226. *----------------------------------------------------------------------*
  227. FORM USER_COMMAND_ALV USING R_UCOMM LIKE SY-UCOMM
  228. RS_SELFIELD TYPE SLIS_SELFIELD.
  229. CASE R_UCOMM.
  230. WHEN '&IC1'.
  231. CASE RS_SELFIELD-FIELDNAME.
  232. WHEN ''.
  233. * CHECK RS_SELFIELD-VALUE IS NOT INITIAL.
  234. * SET PARAMETER ID 'MBN' FIELD RS_SELFIELD-VALUE.
  235. * CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
  236. ENDCASE.
  237. ENDCASE.
  238. ENDFORM. "USER_COMMAND_ALV

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/705764
推荐阅读
相关标签
  

闽ICP备14008679号