1. *&---------------------------------------------------------------------*
  2. *& Report YDEMO_015
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. REPORT YDEMO_015.
  9.  
  10. *&---------------------------------------------------------------------*
  11. *& TOP
  12. *&---------------------------------------------------------------------*
  13. "相关表引用声明
  14. TABLES:VBAK, VBAP,
  15. EKKO, EKPO,
  16. EKET, MEAN,
  17. MARA, MAKT,
  18. MARD, MARC,
  19. EORD, LFA1,
  20. EINA, T023T,
  21. T001W,T001L,
  22. KNA1, TVKO,
  23. TVKOV,TVAK,
  24. TVBUR.
  25. TABLES:SSCRFIELDS.
  26.  
  27. *----------------------------------------------------------------------
  28. * Internal table
  29. *----------------------------------------------------------------------
  30. *&EXCEL上传数据结构
  31. TYPES:BEGIN OF TY_UP,
  32. BSTNK LIKE VBAK-BSTNK, "客户订单号码
  33. KUNNR LIKE VBAK-KUNNR, "客户代码
  34. NAME1 LIKE KNA1-NAME1, "客户名称1
  35. STREET LIKE ADRC-STREET,"送货地址(KNA1-ADRNR->ADRC)
  36. AUART LIKE VBAK-AUART, "SAP销售订单类型
  37. VKORG LIKE VBAK-VKORG, "销售组织
  38. VKBUR LIKE VBAK-VKBUR, "销售部门
  39. MATNR LIKE VBAP-MATNR, "商品编码
  40. MAKTX LIKE MAKT-MAKTX, "商品名称
  41. KWMENG LIKE VBAP-KWMENG,"销售数量
  42. VRKME LIKE VBAP-VRKME, "销售单位
  43.  
  44. KBETR LIKE KONV-KBETR, "单价
  45. WAERK LIKE VBAP-WAERK, "币种
  46. KMEIN LIKE VBAP-KMEIN, "EKPO-PEINH, "价格单位
  47. VDATU LIKE VBAK-VDATU, "交货日期
  48. WERKS LIKE VBAP-WERKS, "发货地点
  49. VTWEG LIKE VBAK-VTWEG, "分销渠道
  50. SPART LIKE VBAK-SPART, "产品组
  51.  
  52. VBELN LIKE VBAK-VBELN,
  53. FLAG(),
  54. ICON TYPE C, "图标
  55. SEL TYPE C,
  56. LIN() TYPE N, "LIKE SY-TABIX,
  57. REASON(),
  58.  
  59. END OF TY_UP.
  60.  
  61. TYPES:BEGIN OF TY_HA, "EXCEL上传数据结构
  62. BSTNK LIKE VBAK-BSTNK, "客户订单号码
  63. KUNNR LIKE VBAK-KUNNR, "客户
  64. NAME1 LIKE KNA1-NAME1, "客户名称1
  65. STREET LIKE ADRC-STREET,"送货地址(KNA1-ADRNR->ADRC)
  66. AUART LIKE VBAK-AUART, "SAP销售订单类型
  67. VKORG LIKE VBAK-VKORG, "销售组织
  68. VKBUR LIKE VBAK-VKBUR, "销售部门
  69. VTWEG LIKE VBAK-VTWEG, "销售渠道
  70. SPART LIKE VBAK-SPART, "产品组
  71. VDATU LIKE VBAK-VDATU, "交货日期
  72.  
  73. VBELN LIKE VBAK-VBELN,
  74. FLAG(),
  75. ICON TYPE C, "图标
  76. REASON(),
  77. LIN TYPE SY-TABIX,
  78. SEL TYPE C,
  79. END OF TY_HA.
  80.  
  81. DATA:GT_UP TYPE STANDARD TABLE OF TY_UP,
  82. WA_UP TYPE TY_UP,
  83. *&so抬头数据
  84. GT_HA TYPE STANDARD TABLE OF TY_HA,
  85. WA_HA TYPE TY_HA,
  86. *&比对重复记录
  87. GT_UPE TYPE STANDARD TABLE OF TY_HA,
  88. WA_UPE TYPE TY_HA,
  89. *&创建so
  90. GT_HEAD TYPE STANDARD TABLE OF TY_HA WITH HEADER LINE,
  91. WA_HEAD TYPE TY_HA,
  92. LT_HEAD LIKE TABLE OF GT_HEAD,
  93. GT_ITAB LIKE STANDARD TABLE OF ALSMEX_TABLINE WITH HEADER LINE,
  94. G_TABIX LIKE SY-TABIX.
  95. * GT_TVAK LIKE TVAK OCCURS 0 WITH HEADER LINE,
  96. FIELD-SYMBOLS : <FS> TYPE ANY.
  97.  
  98. *----------------------------------------------------------------------
  99. * Variants
  100. *----------------------------------------------------------------------
  101. DATA: G_LIN TYPE I,
  102. G_SLIN TYPE I,
  103. G_FLIN TYPE I,
  104. G_TEXT().
  105. DATA: C_ECOL TYPE I ,
  106. G_FILE TYPE CHAR20,
  107. G_NAME TYPE CHAR40.
  108.  
  109. DATA:L_VBELN LIKE BAPIVBELN-VBELN.
  110. DATA:WA_HEADER TYPE BAPISDHD1, "
  111. WA_HEADERX TYPE BAPISDHD1X, "
  112. WA_PARTNER TYPE BAPIPARNR, "
  113. WA_ITEM TYPE BAPISDITM,
  114. WA_ITEMX TYPE BAPISDITMX,
  115. WA_COND TYPE BAPICOND,
  116. WA_CONDX TYPE BAPICONDX,
  117. WA_SCH TYPE BAPISCHDL,
  118. WA_BAPE TYPE BAPE_VBAK,
  119. WA_EX TYPE BAPIPAREX,
  120. WA_TEXT TYPE BAPISDTEXT,
  121. LT_PART TYPE STANDARD TABLE OF BAPIPARNR,
  122. LT_ITEM TYPE STANDARD TABLE OF BAPISDITM,
  123. LT_ITEMX TYPE STANDARD TABLE OF BAPISDITMX,
  124. LT_SCH TYPE STANDARD TABLE OF BAPISCHDL,
  125. LT_SCHX TYPE STANDARD TABLE OF BAPISCHDLX,
  126. L_RETURN LIKE BAPIRET2 OCCURS WITH HEADER LINE,
  127. LT_COND TYPE STANDARD TABLE OF BAPICOND,
  128. LT_CONDX TYPE STANDARD TABLE OF BAPICONDX,
  129. LT_TEXT LIKE STANDARD TABLE OF BAPISDTEXT,
  130. LT_EX TYPE STANDARD TABLE OF BAPIPAREX.
  131. *---------------------------------------------------------------------*
  132. * Data parameters for alv report use
  133. *---------------------------------------------------------------------*
  134. DATA: G_PROGRAM TYPE SY-REPID,
  135. GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
  136. GS_LAYOUT1 TYPE SLIS_LAYOUT_ALV,
  137. GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
  138. GS_FIELDCAT LIKE LINE OF GT_FIELDCAT,
  139. GT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
  140. GS_FIELDCAT1 LIKE LINE OF GT_FIELDCAT,
  141. WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
  142. WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV,
  143. IT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,
  144. GT_EVENT TYPE SLIS_T_EVENT,
  145. WA_EVENT TYPE SLIS_ALV_EVENT.
  146. DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
  147. DATA: GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME
  148. VALUE 'ALV_TOP_OF_PAGE'.
  149.  
  150. RANGES:R_BSTNK FOR VBAK-BSTNK."客户订单号码
  151.  
  152. ************************************************************************
  153. * Select Screen *
  154. ************************************************************************
  155. SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-.
  156.  
  157. PARAMETERS:P_FNAME LIKE RLGRAP-FILENAME MEMORY ID M01. "OBLIGATORY.TYPE STRING
  158.  
  159. SELECTION-SCREEN END OF BLOCK BLK1.
  160.  
  161. SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-.
  162.  
  163. PARAMETERS:P_TEST RADIOBUTTON GROUP RAD1 DEFAULT 'X',
  164. P_EXCUTE RADIOBUTTON GROUP RAD1.
  165.  
  166. SELECTION-SCREEN FUNCTION KEY .
  167.  
  168. SELECTION-SCREEN : END OF BLOCK B2.
  169.  
  170. *&------------------------------------------------------------------*
  171. *& INITIALIZATION
  172. *&------------------------------------------------------------------*
  173. INITIALIZATION.
  174. PERFORM FRM_INIT_FIELD.
  175.  
  176. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.
  177. CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
  178. EXPORTING
  179. MASK = '*.xls'
  180. STATIC = 'X'
  181. CHANGING
  182. FILE_NAME = P_FNAME.
  183.  
  184. IF SY-SUBRC <> .
  185. * Implement suitable error handling here
  186. ENDIF.
  187.  
  188. AT SELECTION-SCREEN.
  189.  
  190. PERFORM FRM_CHECK_AUTHOR.
  191. PERFORM FRM_DOWN_EXCEL.
  192.  
  193. START-OF-SELECTION.
  194.  
  195. PERFORM FRM_GET_DATA.
  196. *&test run
  197. IF P_TEST EQ 'X'.
  198. PERFORM FRM_TEST_RUN.
  199. ENDIF.
  200.  
  201. *&---------------------------------------------------------------------*
  202. *& Form FRM_INIT_FIELD
  203. *&---------------------------------------------------------------------*
  204. * text
  205. *----------------------------------------------------------------------*
  206. * --> p1 text
  207. * <-- p2 text
  208. *----------------------------------------------------------------------*
  209. FORM FRM_INIT_FIELD .
  210.  
  211. SSCRFIELDS-FUNCTXT_01 = '下载EXCEL模板'.
  212. C_ECOL = .
  213. G_FILE = 'ZDQT005'.
  214. G_NAME = '\电器采销售订单导入模板.XLS'.
  215. ENDFORM. " FRM_INIT_FIELD
  216. *&---------------------------------------------------------------------*
  217. *& Form FRM_CHECK_AUTHOR
  218. *&---------------------------------------------------------------------*
  219. * text
  220. *----------------------------------------------------------------------*
  221. * --> p1 text
  222. * <-- p2 text
  223. *----------------------------------------------------------------------*
  224. FORM FRM_CHECK_AUTHOR .
  225.  
  226. ENDFORM. " FRM_CHECK_AUTHOR
  227. *&---------------------------------------------------------------------*
  228. *& Form FRM_DOWN_EXCEL
  229. *&---------------------------------------------------------------------*
  230. * text
  231. *----------------------------------------------------------------------*
  232. * --> p1 text
  233. * <-- p2 text
  234. *----------------------------------------------------------------------*
  235. FORM FRM_DOWN_EXCEL .
  236.  
  237. DATA:LW_PATH TYPE STRING.
  238. DATA:L_FORMKEY LIKE WWWDATATAB,
  239. L_FILE TYPE CHAR20,
  240. L_PATH TYPE LOCALFILE,
  241. L_TYPE TYPE FILEFORMAT,
  242. L_NAME TYPE CHAR40.
  243.  
  244. IF SSCRFIELDS-UCOMM = 'FC01'.
  245. *&S1.选择文件路径
  246. * CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
  247. * EXPORTING
  248. * MASK = '*.xls'
  249. * STATIC = 'X'
  250. * CHANGING
  251. * FILE_NAME = P_FNAME.
  252. * IF SY-SUBRC <> 0.
  253. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  254. * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  255. * ENDIF.
  256. * L_TYPE = 'XLS'.
  257. *&S2.下载文件
  258. CONCATENATE 'MI' G_FILE INTO L_FORMKEY.
  259. * CONCATENATE P_FNAME G_NAME INTO L_PATH.
  260. CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
  261. EXPORTING
  262. KEY = L_FORMKEY
  263. DESTINATION = L_PATH
  264. CHANGING
  265. TEMP = L_PATH.
  266. ELSE.
  267. IF P_FNAME IS INITIAL.
  268. MESSAGE E001() WITH '请输入文件路径!'.
  269. STOP.
  270. ENDIF.
  271. ENDIF.
  272.  
  273. ENDFORM. " FRM_DOWN_EXCEL
  274. *&---------------------------------------------------------------------*
  275. *& Form FRM_GET_DATA
  276. *&---------------------------------------------------------------------*
  277. * text
  278. *----------------------------------------------------------------------*
  279. * --> p1 text
  280. * <-- p2 text
  281. *----------------------------------------------------------------------*
  282. FORM FRM_GET_DATA .
  283.  
  284. *&一致性检查:
  285. DATA:L_INDEX TYPE I,
  286. LR_OREF TYPE REF TO CX_ROOT,
  287. LV_TEXT TYPE STRING.
  288. DATA:LT_RAW TYPE TRUXS_T_TEXT_DATA.
  289.  
  290. CLEAR:GT_UP[],GT_HA[],
  291. WA_UP, WA_HEAD,
  292. GT_ITAB[], GT_ITAB.
  293. *&S1.读取上传excel到内表
  294. * ( CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' )"要进行行列转换 限制1W行,
  295. * ( CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' )"直接转换到目标内表
  296. CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
  297. EXPORTING
  298. * I_FIELD_SEPERATOR =
  299. I_LINE_HEADER = 'X'
  300. I_TAB_RAW_DATA = LT_RAW
  301. I_FILENAME = P_FNAME
  302. TABLES
  303. I_TAB_CONVERTED_DATA = GT_UP
  304. EXCEPTIONS
  305. CONVERSION_FAILED =
  306. OTHERS = .
  307.  
  308. IF SY-SUBRC <> .
  309. MESSAGE ID SY-MSGID
  310. TYPE SY-MSGTY
  311. NUMBER SY-MSGNO
  312. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  313. ENDIF.
  314.  
  315. *&S2.内表单元格检查
  316. LOOP AT GT_UP INTO WA_UP.
  317. G_TABIX = SY-TABIX.
  318. WA_UP-LIN = SY-INDEX.
  319. *&2.1客户订单号码
  320. IF WA_UP-BSTNK IS INITIAL.
  321. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  322. WA_UP-REASON = '客户订单号码必输!'.
  323.  
  324. ELSE.
  325. SELECT SINGLE *
  326. FROM VBAK
  327. WHERE BSTNK = WA_UP-BSTNK.
  328. IF SY-SUBRC = .
  329. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  330. CONCATENATE '客户订单:' WA_UP-BSTNK '已导入' ' /' WA_UP-REASON INTO
  331.  
  332. WA_UP-REASON.
  333. ENDIF.
  334.  
  335. ENDIF.
  336.  
  337. *&S2.1.1栏位格式转换
  338. CONDENSE WA_UP-KUNNR NO-GAPS.
  339. CONDENSE WA_UP-MATNR NO-GAPS.
  340. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  341. EXPORTING
  342. INPUT = WA_UP-KUNNR
  343. IMPORTING
  344. OUTPUT = WA_UP-KUNNR.
  345. CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
  346. EXPORTING
  347. INPUT = WA_UP-MATNR
  348. IMPORTING
  349. OUTPUT = WA_UP-MATNR.
  350.  
  351. *&2.2客户代码检查
  352. IF WA_UP-KUNNR IS NOT INITIAL.
  353. SELECT SINGLE *
  354. FROM KNA1
  355. WHERE KUNNR = WA_UP-KUNNR.
  356. IF SY-SUBRC NE .
  357. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  358. CONCATENATE '客户代码错误' ' /' WA_UP-REASON INTO WA_UP-REASON.
  359. ENDIF.
  360.  
  361. ELSE.
  362. *& KNVV里找默认的零售的客户代码
  363. SELECT SINGLE KUNNR
  364. INTO WA_UP-KUNNR
  365. FROM KNVV
  366. WHERE VKORG EQ WA_UP-VKORG
  367. AND VTWEG EQ WA_UP-VTWEG
  368. AND SPART EQ WA_UP-SPART.
  369. IF SY-SUBRC NE .
  370. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  371. CONCATENATE '找不到默认零售客户,请检查!' ' /' WA_UP-REASON INTO
  372.  
  373. WA_UP-REASON.
  374. ENDIF.
  375.  
  376. ENDIF.
  377. *&2.3客户名称
  378. IF WA_UP-KUNNR IS INITIAL.
  379. IF WA_UP-NAME1 IS INITIAL.
  380. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  381. CONCATENATE '客户名称必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  382. ENDIF.
  383. ENDIF.
  384. *&2.4送货地址
  385. IF WA_UP-KUNNR IS INITIAL.
  386. IF WA_UP-STREET IS INITIAL.
  387. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  388. CONCATENATE '送货地址必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  389. ENDIF.
  390. ENDIF.
  391. *&2.5订单类型
  392. IF WA_UP-AUART IS INITIAL.
  393. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  394. CONCATENATE '订单类型必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  395.  
  396. ELSE.
  397. *&订单类型检查
  398. SELECT SINGLE *
  399. FROM TVAK
  400. WHERE AUART = WA_UP-AUART.
  401. IF SY-SUBRC NE .
  402. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  403. CONCATENATE '订单类型错误' ' /' WA_UP-REASON INTO WA_UP-REASON.
  404. ENDIF.
  405.  
  406. ENDIF.
  407. *&2.6销售组织
  408. IF WA_UP-VKORG IS INITIAL.
  409. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  410. CONCATENATE '销售组织必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  411.  
  412. ELSE.
  413. *&销售组织检查
  414. SELECT SINGLE *
  415. FROM TVKO
  416. WHERE VKORG = WA_UP-VKORG.
  417. IF SY-SUBRC NE .
  418. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  419. CONCATENATE '销售组织错误' ' /' WA_UP-REASON INTO WA_UP-REASON.
  420. ENDIF.
  421.  
  422. ENDIF.
  423. *&2.7销售部门
  424. IF WA_UP-VKBUR IS INITIAL.
  425. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  426. CONCATENATE '销售部门必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  427.  
  428. ELSE.
  429. *&销售部门检查
  430. SELECT SINGLE *
  431. FROM TVBUR
  432. WHERE VKBUR = WA_UP-VKBUR.
  433. IF SY-SUBRC NE .
  434. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  435. CONCATENATE '销售部门错误' ' /' WA_UP-REASON INTO WA_UP-REASON.
  436. ENDIF.
  437.  
  438. ENDIF.
  439. *&2.8商品编码
  440. IF WA_UP-MATNR IS INITIAL.
  441. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  442. CONCATENATE '商品编码必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  443.  
  444. ELSE.
  445. *&商品检查
  446. SELECT SINGLE *
  447. FROM MARA
  448. WHERE MATNR = WA_UP-MATNR.
  449. IF SY-SUBRC NE .
  450. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  451. CONCATENATE '商品不存在' ' /' WA_UP-REASON INTO WA_UP-REASON.
  452. ENDIF.
  453.  
  454. ENDIF.
  455. *&2.9商品名称
  456.  
  457. *&S2.10销售数量
  458. CLEAR LV_TEXT.
  459. TRY.
  460. IF WA_UP-KWMENG IS INITIAL.
  461. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  462. CONCATENATE '销售数量必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  463. ENDIF.
  464. CATCH CX_SY_CONVERSION_ERROR INTO LR_OREF.
  465. LV_TEXT = LR_OREF->GET_TEXT( ).
  466. ENDTRY.
  467. IF LV_TEXT IS NOT INITIAL.
  468. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  469. CONCATENATE '数量包含无效字符' ' /' WA_UP-REASON INTO WA_UP-REASON.
  470.  
  471. ELSE.
  472. *&数量检查
  473. IF WA_UP-KWMENG <= .
  474. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  475. CONCATENATE '数量不能小于0' ' /' WA_UP-REASON INTO WA_UP-REASON.
  476. ENDIF.
  477.  
  478. ENDIF.
  479. *&2.11销售单位
  480. IF WA_UP-VRKME IS INITIAL.
  481. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  482. CONCATENATE '销售单位必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  483. ENDIF.
  484. *&2.12单价必输
  485. CLEAR LV_TEXT.
  486. TRY.
  487. IF WA_UP-KBETR IS INITIAL.
  488. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  489. CONCATENATE '单价必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  490. ENDIF.
  491. CATCH CX_SY_CONVERSION_ERROR INTO LR_OREF.
  492. LV_TEXT = LR_OREF->GET_TEXT( ).
  493. ENDTRY.
  494. IF LV_TEXT IS NOT INITIAL.
  495. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  496. CONCATENATE '单价包含无效字符' ' /' WA_UP-REASON INTO WA_UP-REASON.
  497. ENDIF.
  498. *&2.13币种(如果为空,默认为CNY
  499. IF WA_UP-WAERK IS INITIAL.
  500. WA_UP-WAERK = 'CNY'.
  501. ENDIF.
  502. *&2.14价格单位(如果为空,默认为销售单位)
  503. IF WA_UP-KMEIN IS INITIAL.
  504. WA_UP-KMEIN = WA_UP-VRKME.
  505. ENDIF.
  506. *&2.15交货日期
  507. IF WA_UP-VDATU IS INITIAL.
  508. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  509. CONCATENATE '交货日期必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  510.  
  511. ELSE.
  512. *&日期栏位格式检查
  513. CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
  514. EXPORTING
  515. DATE = WA_UP-VDATU
  516. EXCEPTIONS
  517. PLAUSIBILITY_CHECK_FAILED =
  518. OTHERS = .
  519. IF SY-SUBRC <> .
  520. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  521. CONCATENATE '日期栏位格式不对' ' /' WA_UP-REASON INTO WA_UP-REASON.
  522. ENDIF.
  523.  
  524. ENDIF.
  525. *&2.16发货地点
  526. IF WA_UP-WERKS IS INITIAL.
  527. * WA_UP-REASON = '发货地点必输!'.
  528. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  529. CONCATENATE '发货地点必输!' ' /' WA_UP-REASON INTO WA_UP-REASON.
  530.  
  531. ELSE.
  532. *&地点检查
  533. SELECT SINGLE *
  534. FROM T001W
  535. WHERE WERKS = WA_UP-WERKS.
  536. IF SY-SUBRC = .
  537. ELSE.
  538. WA_UP-FLAG = 'E'. WA_UP-ICON = .
  539. CONCATENATE '地点不存在' ' /' WA_UP-REASON INTO WA_UP-REASON.
  540. ENDIF.
  541.  
  542. ENDIF.
  543.  
  544. *&S3.1产品组 默认为: 10
  545. WA_UP-SPART = .
  546. *&S3.2销售渠道默认为: 40
  547. WA_UP-VTWEG = .
  548. *&-----------------------------
  549. *&S3.4抬头栏位检查
  550. * PERFORM FRM_PROC_CHECK.
  551. *&S3.5ITEM信息检查
  552. * PERFORM FRM_ITEM_CHECK.
  553. *&S3.6判断是否有条目重
  554. * (允许重复)
  555. *&4.error log
  556. IF WA_UP-FLAG NE 'E'.
  557. WA_UP-FLAG = 'S'.
  558. * WA_UP-ICON = 2.
  559. ELSE.
  560. *&取得错误数据
  561. R_BSTNK-SIGN = 'I'.
  562. R_BSTNK-OPTION = 'EQ'.
  563. R_BSTNK-LOW = WA_UP-BSTNK.
  564. COLLECT R_BSTNK.
  565. CLEAR R_BSTNK.
  566. ENDIF.
  567.  
  568. *&4.1excel栏位赋值内表
  569. MODIFY GT_UP FROM WA_UP INDEX G_TABIX.
  570. MOVE-CORRESPONDING WA_UP TO WA_HA.
  571.  
  572. *&4.2赋值GT_HA.
  573. CLEAR:WA_HA-FLAG, WA_HA-REASON, WA_HA-ICON.
  574. **&A.判断重复:
  575. * READ TABLE GT_UPE INTO WA_UPE WITH KEY BSTNK = WA_HA-BSTNK
  576. * AUART = WA_HA-AUART
  577. * KUNNR = WA_HA-KUNNR
  578. * VKORG = WA_HA-VKORG
  579. * VKBUR = WA_HA-VKBUR.
  580. * IF SY-SUBRC EQ 0.
  581. * G_TABIX = SY-TABIX.
  582. * WA_UP-FLAG = 'E'. WA_UP-ICON = 1.
  583. * CONCATENATE '采购订单号' WA_UPE-BSTNK '有重复' '/' WA_HA-REASON INTO WA_HA-REASON.
  584. * MODIFY GT_HA FROM WA_HA INDEX G_TABIX.
  585. * ENDIF.
  586.  
  587. COLLECT WA_HA INTO GT_HA.
  588. *&clear 变量:
  589. CLEAR:WA_UP, WA_HEAD.
  590. *&Q1.判断内表是否重复
  591. GT_UPE[] = GT_HA[].
  592.  
  593. ENDLOOP.
  594.  
  595. SORT GT_HA BY BSTNK KUNNR AUART VKORG VKBUR.
  596. *&A1.判断重复(客户订单)
  597. * LOOP AT GT_HEAD.
  598. * AT NEW BSTNK.
  599. * WA_HEAD-LIN = 1.
  600. * CONTINUE.
  601. * ENDAT.
  602. * WA_HEAD-LIN = WA_HEAD-LIN + 1.
  603. ** AT END OF BSTNK.
  604. ** WA_HEAD-LIN = WA_HEAD-LIN + 1.
  605. ** ENDAT.
  606. * IF WA_HEAD-LIN LT 1.
  607. * CONCATENATE '客户订单号:' GT_HEAD-BSTNK '出现重复,请检查!' INTO WA_HEAD-REASON.
  608. * ENDIF.
  609. * MODIFY GT_HEAD FROM WA_HEAD TRANSPORTING LIN REASON.
  610. * CLEAR GT_HEAD.
  611. * ENDLOOP.
  612. * DATA:G_DAY TYPE D.
  613. * GET TIME. "STAMP FIELD G_DAY.
  614. * LOOP AT GT_HEAD WHERE LIN LT 1.
  615. * LOOP AT GT_UP INTO WA_UP WHERE BSTNK EQ GT_HEAD-BSTNK
  616. * AND AUART EQ GT_HEAD-AUART
  617. * AND KUNNR EQ GT_HEAD-KUNNR
  618. * AND VKORG EQ GT_HEAD-VKORG.
  619. * CONCATENATE WA_HEAD-REASON '/' WA_UP-REASON INTO WA_UP-REASON.
  620. * WA_UP-FLAG = 'E'. WA_UP-ICON = 1.
  621. * MODIFY GT_UP FROM WA_UP TRANSPORTING FLAG ICON REASON.
  622. * CLEAR WA_UP.
  623. *
  624. * ENDLOOP.
  625. *
  626. * ENDLOOP.
  627.  
  628. CLEAR:GT_UPE[].
  629. SORT GT_UP BY BSTNK KUNNR AUART VKORG VKBUR MATNR.
  630. *&S3.
  631. G_LIN = LINES( GT_UP[] ).
  632. IF G_LIN EQ .
  633. MESSAGE E001() WITH '没有任何数据!'.
  634. ELSE.
  635. MESSAGE S001() WITH '导入数据' G_LIN '条!'.
  636. ENDIF.
  637.  
  638. ENDFORM. " FRM_GET_DATA
  639. *&---------------------------------------------------------------------*
  640. *& Form FRM_TEST_RUN
  641. *&---------------------------------------------------------------------*
  642. * text
  643. *----------------------------------------------------------------------*
  644. * --> p1 text
  645. * <-- p2 text
  646. *----------------------------------------------------------------------*
  647. FORM FRM_TEST_RUN .
  648.  
  649. *&S4对于ok的客户订单号 test CHECK
  650. *&C1.获取ok的客户订单号
  651. *CLEAR: GT_HEAD[].
  652. GT_HEAD[] = GT_HA[].
  653. IF R_BSTNK[] IS NOT INITIAL.
  654. DELETE GT_HEAD WHERE BSTNK IN R_BSTNK.
  655. ENDIF.
  656.  
  657. *&C2.
  658. PERFORM FRM_FOR_SO.
  659.  
  660. *&C3.返回信息显示明细
  661. LOOP AT GT_HEAD INTO WA_HEAD WHERE FLAG = 'E'.
  662. LOOP AT GT_UP INTO WA_UP WHERE AUART = WA_HEAD-AUART
  663. AND VKORG = WA_HEAD-VKORG
  664. AND VTWEG = WA_HEAD-VTWEG
  665. AND KUNNR = WA_HEAD-KUNNR
  666. AND BSTNK = WA_HEAD-BSTNK
  667. AND VKBUR = WA_HEAD-VKBUR .
  668. WA_UP-VBELN = WA_HEAD-VBELN.
  669. WA_UP-FLAG = WA_HEAD-FLAG.
  670. WA_UP-ICON = WA_HEAD-ICON.
  671. WA_UP-REASON = WA_HEAD-REASON.
  672. *CONCATENATE WA_UP-REASON '-' WA_UP-REASON INTO WA_UP-REASON.
  673. MODIFY GT_UP FROM WA_UP TRANSPORTING FLAG ICON REASON.
  674. ENDLOOP.
  675. ENDLOOP.
  676.  
  677. ENDFORM. " FRM_TEST_RUN
  678. *&---------------------------------------------------------------------*
  679. *& Form FRM_FOR_SO
  680. *&---------------------------------------------------------------------*
  681. * text
  682. *----------------------------------------------------------------------*
  683. * --> p1 text
  684. * <-- p2 text
  685. *----------------------------------------------------------------------*
  686. FORM FRM_FOR_SO .
  687. DATA:BEGIN OF LT_BSTNR OCCURS ,
  688. VBELN LIKE VBAK-VBELN,
  689. END OF LT_BSTNR.
  690. *&A.判断客户订单号是否重复
  691. LOOP AT GT_HEAD INTO WA_HEAD.
  692. CLEAR:LT_ITEM[],WA_HEADER,
  693. LT_SCH[], LT_EX[].
  694. *&1HEAD参数设置
  695. PERFORM FRM_SET_HEAD.
  696. *&2ITEM参数设置
  697. PERFORM FRM_SET_ITEM.
  698. *&3BAPI创建so
  699. PERFORM FRM_CALL_BAPI.
  700.  
  701. ENDLOOP.
  702.  
  703. ENDFORM. " FRM_FOR_SO
  704. *&---------------------------------------------------------------------*
  705. *& Form FRM_SET_HEAD
  706. *&---------------------------------------------------------------------*
  707. * text
  708. *----------------------------------------------------------------------*
  709. * --> p1 text
  710. * <-- p2 text
  711. *----------------------------------------------------------------------*
  712. FORM FRM_SET_HEAD .
  713. CLEAR:WA_HEADER,WA_HEADERX.
  714. *&H1.抬头必输
  715. WA_HEADER-PURCH_NO_C = WA_HEAD-BSTNK."客户订单号码
  716. WA_HEADER-DOC_TYPE = WA_HEAD-AUART."订单类型
  717. WA_HEADER-SALES_ORG = WA_HEAD-VKORG."销售组织
  718. WA_HEADER-SALES_OFF = WA_HEAD-VKBUR."销售部门
  719. WA_HEADER-DISTR_CHAN = WA_HEAD-VTWEG."分销渠道
  720. WA_HEADER-DIVISION = WA_HEAD-SPART."产品组
  721. WA_HEADER-REQ_DATE_H = WA_HEAD-VDATU."请求交货日期
  722. *WA_HEADER-PO_METHOD = WA_HEAD-BSARK."客户采购订单类型
  723. *WA_HEADER-REF_1 = WA_HEAD-BSTNK."参考
  724. WA_HEADERX-PURCH_NO_C = WA_HEAD-BSTNK."客户订单号码
  725.  
  726. WA_HEADERX-DOC_TYPE = 'X'."订单类型
  727. WA_HEADERX-SALES_ORG = 'X'."销售组织
  728. WA_HEADERX-SALES_OFF = 'X'."销售部门
  729. WA_HEADERX-DISTR_CHAN = 'X'."分销渠道
  730. WA_HEADERX-DIVISION = 'X'."产品组
  731. WA_HEADERX-REQ_DATE_H = 'X'."请求交货日期
  732. *WA_HEADERX-PO_METHOD = 'X'."客户采购订单类型
  733. *WA_HEADERX-REF_1 = 'X'."参考
  734.  
  735. *&H2.Partners(?一次性客户处理是否有差别(一次性客户有无标识))
  736. CLEAR: WA_PARTNER, LT_PART[].
  737. *&通讯字段: SD单据合作伙伴:WWW(WA_PARTNER)
  738. * AG-售达方
  739. * WE-送达方
  740. *'RG'-付款方
  741. *'RE'-开票方
  742. WA_PARTNER-PARTN_ROLE = 'AG'. "售达方
  743. WA_PARTNER-PARTN_NUMB = WA_HEAD-KUNNR.
  744. *&"一次性客户
  745. READ TABLE GT_UP INTO WA_UP WITH KEY AUART = WA_HEAD-AUART
  746. VKORG = WA_HEAD-VKORG
  747. VTWEG = WA_HEAD-VTWEG
  748. KUNNR = WA_HEAD-KUNNR
  749. BSTNK = WA_HEAD-BSTNK
  750. VKBUR = WA_HEAD-VKBUR.
  751.  
  752. IF WA_UP-NAME1 IS NOT INITIAL.
  753. WA_PARTNER-NAME = WA_UP-NAME1. "名称
  754. WA_PARTNER-STREET = WA_UP-STREET."地址
  755. ENDIF.
  756. WA_PARTNER-COUNTRY = 'CN'.
  757. WA_PARTNER-LANGU = SY-LANGU.
  758. APPEND WA_PARTNER TO LT_PART.
  759. CLEAR WA_PARTNER.
  760.  
  761. *&H4.送达方
  762. IF WA_UP-KUNNR IS NOT INITIAL.
  763. CLEAR WA_PARTNER.
  764. WA_PARTNER-PARTN_ROLE = 'WE'. "送达方
  765. WA_PARTNER-PARTN_NUMB = WA_HEAD-KUNNR. "客户
  766. WA_PARTNER-NAME = WA_HEAD-NAME1. "名称
  767. WA_PARTNER-STREET = WA_HEAD-STREET."地址
  768. WA_PARTNER-COUNTRY = 'CN'.
  769. APPEND WA_PARTNER TO LT_PART.
  770. CLEAR WA_PARTNER.
  771. ENDIF.
  772.  
  773. *&ADD.
  774. * "RG 付款方
  775. * WA_PARTNER-PARTN_ROLE = 'RG'.
  776. * WA_PARTNER-PARTN_NUMB = WA_HEAD-KUNNR.
  777. ** IF UP_HEAD-NAME1_RG IS NOT INITIAL. "一次性客户
  778. ** WA_PARTNER-NAME = UP_HEAD-NAME1_RG.
  779. ** WA_PARTNER-COUNTRY = 'CN'.
  780. ** ENDIF.
  781. * APPEND WA_PARTNER TO LT_PART.
  782. * CLEAR WA_PARTNER.
  783.  
  784. *&订单条件的通讯字段
  785. CLEAR:LT_COND[], LT_COND,
  786. LT_CONDX[],LT_CONDX.
  787. **&抬头赋值定价条件类型---条件ZPB0不允许作为抬头条件
  788. * LOOP AT GT_UP INTO WA_UP WHERE BSTNK = WA_HEAD-BSTNK
  789. * AND KUNNR = WA_HEAD-KUNNR
  790. * AND AUART = WA_HEAD-AUART
  791. * AND VKORG = WA_HEAD-VKORG
  792. * AND VKBUR = WA_HEAD-VKBUR
  793. * AND VDATU = WA_HEAD-VDATU.
  794. **AND VTWEG = WA_HEAD-VTWEG
  795. **&H3定价控制
  796. * IF NOT WA_UP-KBETR IS INITIAL.
  797. * WA_COND-COND_TYPE = 'ZPB0'. "定价条件
  798. * WA_COND-COND_VALUE = WA_UP-KBETR."价格
  799. * WA_COND-CURRENCY = WA_UP-WAERK."货币或%\
  800. ** WA_COND-COND_P_UNT = 1."条件定价单位
  801. * APPEND WA_COND TO LT_COND.
  802. * CLEAR WA_COND.
  803. *
  804. * WA_CONDX-COND_TYPE = 'ZPB0'."定价条件
  805. * WA_CONDX-COND_VALUE = 'X'. "价格
  806. * WA_CONDX-CURRENCY = 'X'. "货币或%
  807. ** WA_CONDX-UPDATEFLAG = 'U'.
  808. * APPEND WA_CONDX TO LT_CONDX.
  809. * CLEAR: WA_CONDX.
  810. * ENDIF.
  811. * ENDLOOP.
  812. EXIT.
  813.  
  814. ENDFORM. " FRM_SET_HEAD
  815. *&---------------------------------------------------------------------*
  816. *& Form FRM_SET_ITEM
  817. *&---------------------------------------------------------------------*
  818. * text
  819. *----------------------------------------------------------------------*
  820. * --> p1 text
  821. * <-- p2 text
  822. *----------------------------------------------------------------------*
  823. FORM FRM_SET_ITEM .
  824. DATA: L_POSNR LIKE VBAP-POSNR,
  825. L_LP LIKE VBAP-POSNR VALUE ''.
  826. CLEAR:LT_ITEM[],
  827. LT_SCH[].
  828. * LT_COND[].
  829.  
  830. *&item 参数赋值
  831. LOOP AT GT_UP INTO WA_UP WHERE BSTNK = WA_HEAD-BSTNK
  832. AND KUNNR = WA_HEAD-KUNNR
  833. AND AUART = WA_HEAD-AUART
  834. AND VKORG = WA_HEAD-VKORG
  835. AND VKBUR = WA_HEAD-VKBUR
  836. AND VDATU = WA_HEAD-VDATU.
  837.  
  838. READ TABLE LT_ITEM INTO WA_ITEM WITH KEY MATERIAL = WA_UP-MATNR.
  839. IF SY-SUBRC NE .
  840. *&i1.line赋值
  841. ADD L_LP TO L_POSNR.
  842. CLEAR WA_ITEM.
  843. WA_ITEM-ITM_NUMBER = L_POSNR.
  844. WA_ITEM-MATERIAL = WA_UP-MATNR. "商品
  845. WA_ITEM-SALES_UNIT = WA_UP-VRKME. "计量单位
  846. WA_ITEM-PLANT = WA_UP-WERKS. "工厂
  847. *& WA_ITEM-STORE_LOC = WA_SO-LGORT. "库存地
  848. APPEND WA_ITEM TO LT_ITEM.
  849.  
  850. *&i2.计划行数据
  851. CLEAR WA_SCH.
  852. WA_SCH-ITM_NUMBER = L_POSNR.
  853. WA_SCH-REQ_QTY = WA_UP-KWMENG."数量
  854. *WA_SCH-REQ_DATE = WA_UP-VDATU. "计划行日期
  855. APPEND WA_SCH TO LT_SCH.
  856. *&i3.订单条件的通讯字段
  857. CLEAR: WA_COND.
  858. WA_COND-ITM_NUMBER = L_POSNR.
  859. WA_COND-COND_TYPE = 'ZPB0'. "定价条件
  860. *&->ADD(解决价格扩大十倍问题)
  861. WA_COND-COND_VALUE = WA_UP-KBETR / ."价格
  862. WA_COND-COND_UNIT = WA_UP-KMEIN."条件单位
  863. *WA_COND-COND_P_UNT = WA_UP-KMEIN. "条件定价单位
  864. *WA_COND-CURRENCY = LS_COND-KOEIN."货币或%
  865. WA_CONDX-UPDATEFLAG = 'I'.
  866. WA_CONDX-COND_TYPE = 'ZPB0'."定价条件
  867. WA_CONDX-COND_VALUE = 'X'. "价格
  868. WA_CONDX-COND_UNIT = 'X'."条件单位
  869. * WA_CONDX-CURRENCY = 'X'. "货币或%
  870. * APPEND WA_CONDX TO LT_CONDX.
  871. APPEND WA_COND TO LT_COND.
  872.  
  873. ENDIF.
  874. ENDLOOP.
  875.  
  876. ENDFORM. " FRM_SET_ITEM
  877. *&---------------------------------------------------------------------*
  878. *& Form FRM_CALL_BAPI
  879. *&---------------------------------------------------------------------*
  880. * text
  881. *----------------------------------------------------------------------*
  882. * --> p1 text
  883. * <-- p2 text
  884. *----------------------------------------------------------------------*
  885. FORM FRM_CALL_BAPI .
  886. *&只需创建正常SO,
  887. DATA:L_TEST LIKE BAPIFLAG-BAPIFLAG.
  888.  
  889. CLEAR :L_VBELN,
  890. L_RETURN[],
  891. L_TEST,
  892. L_RETURN[].
  893.  
  894. IF P_TEST EQ 'X'.
  895. L_TEST = 'X'.
  896. ENDIF.
  897.  
  898. *&正常SO:C,调用BAPI_SALESORDER_CREATEFROMDAT2
  899. CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
  900. EXPORTING
  901. ORDER_HEADER_IN = WA_HEADER
  902. TESTRUN = L_TEST
  903. IMPORTING
  904. SALESDOCUMENT = L_VBELN
  905. TABLES
  906. RETURN = L_RETURN
  907. ORDER_ITEMS_IN = LT_ITEM
  908. ORDER_PARTNERS = LT_PART
  909. ORDER_SCHEDULES_IN = LT_SCH
  910. ORDER_CONDITIONS_IN = LT_COND
  911. ORDER_CONDITIONS_INX = LT_CONDX
  912. ORDER_TEXT = LT_TEXT
  913. EXTENSIONIN = LT_EX.
  914.  
  915. READ TABLE L_RETURN WITH KEY TYPE = 'E'.
  916. IF SY-SUBRC NE .
  917. IF P_EXCUTE EQ 'X'.
  918. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  919. WA_HEAD-ICON = .
  920. ENDIF.
  921.  
  922. G_SLIN = G_SLIN + .
  923. WA_HEAD-VBELN = L_VBELN.
  924. WA_HEAD-FLAG = 'S'.
  925. CONCATENATE '销售订单:' L_VBELN '成功创建' INTO WA_HEAD-REASON.
  926. MODIFY GT_HEAD FROM WA_HEAD TRANSPORTING VBELN FLAG ICON REASON.
  927. *&Q3.TEST.
  928. ELSE.
  929. G_FLIN = G_FLIN + .
  930. IF P_EXCUTE EQ 'X'.
  931. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  932. ENDIF.
  933.  
  934. WA_HEAD-FLAG = 'E'.
  935. WA_HEAD-ICON = .
  936. READ TABLE L_RETURN WITH KEY TYPE = 'E'.
  937. WA_HEAD-REASON = L_RETURN-MESSAGE.
  938. MODIFY GT_HEAD FROM WA_HEAD TRANSPORTING FLAG ICON REASON.
  939. ENDIF.
  940.  
  941. ENDFORM. " FRM_CALL_BAPI

ABAP DEMO so批量导入的更多相关文章

  1. 【ABAP系列】SAP ABAP 用BAPI批量导入物料的质量视图

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP 用BAPI批量导入 ...

  2. 订餐系统之Excel批量导入

    批量导入现在基本已经成为各类系统的标配了,当前,我们订餐系统也不例外,什么商家呀.商品呀.优惠码之类的,都少不了.毕竟嘛,对非开发人员来说,看到Excel肯定比看到很多管理系统还是要亲切很多的.这里, ...

  3. java实现文件批量导入导出实例(兼容xls,xlsx)

    1.介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下. 目前我所接触过的导入导出技术主要有POI和iRepo ...

  4. .Net之Nopi Excel数据导出和批量导入功能

    一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...

  5. .net core利用MySqlBulkLoader大数据批量导入MySQL

    最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...

  6. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  7. Java实现Excel数据批量导入数据库

    Java实现Excel数据批量导入数据库 概述: 这个小工具类是工作中的一个小插曲哦,因为提数的时候需要跨数据库导数... 有的是需要从oracle导入mysql ,有的是从mysql导入oracle ...

  8. neo4j批量导入neo4j-import

    neo4j数据批量导入 1 neo4j基本参数 1.1 启动与关闭: 1.2 neo4j-admin的参数:控制内存 1.2.1 memrec 是查看参考内存设置 1.2.2 指定缓存–pagecac ...

  9. Elasticsearch —— bulk批量导入数据

    在使用Elasticsearch的时候,一定会遇到这种场景--希望批量的导入数据,而不是一条一条的手动导入.那么此时,就一定会需要bulk命令! 更多内容参考我整理的Elk教程 bulk批量导入 批量 ...

随机推荐

  1. css cursor效果图

    效果图: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset=& ...

  2. drf框架 - 请求模块 | 渲染模块

    Postman接口工具 官方 https://www.getpostman.com/ get请求,携带参数采用Params​post等请求,提交数据包可以采用三种方式:form-date.urlenc ...

  3. Map的常用实现类及Entry的用法

    public static void main(String[] args) {    //map  键值对  json格式根据你的键名来获取对应的值  //特点 :无序.以键值对的形式添加元素,键不 ...

  4. Linux shell - 按时间和文件大小排序显示文件

    在工作中有这样的情况,需要显示所有的文件,按照时间先后或者文件大小先后排序显示 命令:ls 1.按时间排序显示文件 1 test@> ll -rt 2.按文件大小排序显示文件(文件大小单位:k, ...

  5. YAML_04 用user模块添加用户,并修改密码

    ansible]# vim user.yml --- - hosts: cache   remote_user: root   vars:     username: lisi   tasks:   ...

  6. BZOJ 4332: JSOI2012 分零食 FFT+分治

    好题好题~ #include <bits/stdc++.h> #define N 50020 #define ll long long #define setIO(s) freopen(s ...

  7. 2019.11.11 模拟赛 T2 乘积求和

    昨天 ych 的膜你赛,这道题我 O ( n4 ) 暴力拿了 60 pts. 这道题的做法还挺妙的,我搞了将近一天呢qwq 题解 60 pts 根据题目给出的式子,四层 for 循环暴力枚举统计答案即 ...

  8. [luogu 3803]【模板】多项式乘法

    传送门 FFT #include<bits/stdc++.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #de ...

  9. HDU 6208 The Dominator of Strings ——(青岛网络赛,AC自动机)

    最长的才可能成为答案,那么除了最长的以外全部insert到自动机里,再拿最长的去match,如果match完以后cnt全被清空了,那么这个最长串就是答案.事实上方便起见这个最长串一起丢进去也无妨,而且 ...

  10. ubuntu之路——day5(今天看了浅层神经网络的数学推导过程)

    1.初始化 2.前向传播 导数比较好理解 3.反向传播 全符号积分的推导看得我头有点晕 最后唤起我依稀的线代回忆 感谢吴恩达老师的反向传播讲解,第一遍看的有点晕,然后仔细看了一下又找了个B站的推导就懂 ...