PR 修改保存的增强 ME_UPDATE_REQUISITION
FUNCTION me_update_requisition.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Function Module ME_UPDATE_REQUISITION, Start A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 YHSBC_MM_SAVE_FOR_EBAN_FIELDS. "active version
*&start changed by robin 20140412 ECDK917957
*&据IP取得相关登录用户并作修改:
CALL FUNCTION 'YH_BC_MM_SAVE_EBAN_FIELDS'
TABLES
XEBAN_TAB = XEBAN
YEBAN_TAB = YEBAN.
*&END CHANGED BY ROBIN 20140304
ENDENHANCEMENT.
ENHANCEMENT 1 YH_PR_SAVE_ENHANCEMENT. "active version
CALL FUNCTION 'YH_PR_SAVE_EXIST'
TABLES
xeban = XEBAN
yeban = YEBAN
.
*
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
*"----------------------------------------------------------------------
*"*"Update Function Module:
*"
*"*"Global Interface:
*" IMPORTING
*" VALUE(XPREXT) TYPE MEREQ_T_UPREXT OPTIONAL
*" VALUE(MEREQX) TYPE MEREQ_T_UMEREQX OPTIONAL
*" TABLES
*" XEBAN STRUCTURE UEBAN
*" XEBKN STRUCTURE UEBKN
*" YEBAN STRUCTURE UEBAN
*" YEBKN STRUCTURE UEBKN
*" DRS_ITEMS TYPE MMPUR_DRS_ITEMS_TTY OPTIONAL
*"----------------------------------------------------------------------
*- fuellen Altstruktur Banf -----------------------------------------
CLEAR oeban.
LOOP AT yeban.
MOVE yeban TO oeban.
APPEND oeban.
ENDLOOP.
SORT oeban BY banfn bnfpo.
*------- Check if EhP4 switch is on----------------------------------*
DATA lv_ehp4_sfws_p2pse TYPE xfeld.
DAta ls_eban type eban.
lv_ehp4_sfws_p2pse = ''.
lv_ehp4_sfws_p2pse = cl_ops_switch_check=>mm_sfws_p2pse( ).
REFRESH: db_eban, db_eban_u, db_ebub, db_ebub_d.
REFRESH: tebav.
*------- Positionen Loeschen ------------------------------------------*
LOOP AT oeban.
IF oeban-kz EQ 'D'.
MOVE-CORRESPONDING oeban TO eban.
MOVE eban TO db_eban.
APPEND db_eban.
*------- Umlagerungsindex ---------------------------------------------*
* IF EBAN-PSTYP EQ '7'.
IF eban-reswk NE space AND eban-bsakz NE 'R' AND
eban-matnr NE space AND
eban-ebakz EQ space AND
eban-loekz EQ space AND
eban-menge GT eban-bsmng.
MOVE-CORRESPONDING eban TO ebub.
MOVE ebub TO db_ebub_d.
APPEND db_ebub_d.
ENDIF.
ENDIF.
ENHANCEMENT-POINT EHP603_ME_UPDATE_REQUISITION_1 SPOTS ES_SAPLEBNU_P2P.
*$*$-Start: EHP603_ME_UPDATE_REQUISITION_1------------------------------------------------------$*$*
ENHANCEMENT 1 MM_SFWS_EBNU. "active version
*-------Create change pointer for TREX
PERFORM trex_change_pointer USING oeban-banfn
oeban-kz.
ENDENHANCEMENT.
*$*$-End: EHP603_ME_UPDATE_REQUISITION_1------------------------------------------------------$*$*
IF lv_ehp4_sfws_p2pse EQ 'X'.
* MOVE-CORRESPONDING oeban to ls_eban.
CALL FUNCTION 'ME_TREX_TRIGGER_PR'
EXPORTING
IV_BANFN = oeban-banfn
IV_BNFPO = oeban-bnfpo
IV_EBAN_CHANGEID = oeban-kz
* IT_CHANGED_PR = IT_CHANGED_PR
.
* CALL FUNCTION 'ME_TREX_TRIGGER_PR'
* EXPORTING
* IS_BANFN = oeban-banfn
* IS_BNFPO = oeban-bnfpo
** IS_EBAN = ls_eban
** IS_EBKN = IS_EBKN
** IS_EBAN_TECH = IS_EBAN_TECH
* IV_EBAN_CHANGEID = oeban-kz
** IV_EBKN_CHANGEID = IV_EBKN_CHANGEID
** IV_EBAN_TECH_CHANGEID = IV_EBAN_TECH_CHANGEID
.
ENDIF.
ENDLOOP.
DESCRIBE TABLE db_eban LINES sy-tfill.
IF sy-tfill GT 0.
DELETE eban FROM TABLE db_eban.
IF sy-subrc NE 0.
MESSAGE a809 WITH 'EBAN'.
ENDIF.
REFRESH db_eban.
ENDIF.
REFRESH: db_eban, db_eban_u.
REFRESH: tebav.
* 1. Runde verbuchen der Banfen per Array-Operationen
*------- Banfen verbuchen ---------------------------------------------*
LOOP AT xeban.
MOVE xeban TO eban.
*------- Neue Banf/Banfposition ---------------------------------------*
IF xeban-kz EQ 'I'.
MOVE xeban TO db_eban.
APPEND db_eban.
*------- Umlagerungsindex ---------------------------------------------*
* IF EBAN-PSTYP EQ '7'.
IF eban-reswk NE space AND eban-bsakz NE 'R' AND
eban-matnr NE space AND
eban-ebakz EQ space AND
eban-loekz EQ space AND
eban-menge GT eban-bsmng.
MOVE-CORRESPONDING eban TO ebub.
MOVE ebub TO db_ebub.
APPEND db_ebub.
ENDIF.
ENDIF.
*------- Geaenderte Banf/Banfposition ---------------------------------*
IF xeban-kz EQ 'U'.
* MOVE XEBAN TO DB_EBAN_U.
* APPEND DB_EBAN_U.
MOVE-CORRESPONDING xeban TO tebav.
APPEND tebav.
ENDIF.
ENHANCEMENT-POINT ehp603_me_update_requisition_2 SPOTS es_saplebnu_p2p.
*$*$-Start: EHP603_ME_UPDATE_REQUISITION_2------------------------------------------------------$*$*
ENHANCEMENT 2 MM_SFWS_EBNU. "active version
*-------Create change pointer for TREX
PERFORM trex_change_pointer USING xeban-banfn
xeban-kz.
ENDENHANCEMENT.
*$*$-End: EHP603_ME_UPDATE_REQUISITION_2------------------------------------------------------$*$*
IF lv_ehp4_sfws_p2pse EQ 'X'.
* MOVE-CORRESPONDING Xeban to ls_eban.
CALL FUNCTION 'ME_TREX_TRIGGER_PR'
EXPORTING
IV_BANFN = xeban-banfn
IV_BNFPO = xeban-bnfpo
IV_EBAN_CHANGEID = xeban-kz
* IT_CHANGED_PR = IT_CHANGED_PR
.
* CALL FUNCTION 'ME_TREX_TRIGGER_PR'
* EXPORTING
* IS_BANFN = xeban-banfn
* IS_BNFPO = xeban-bnfpo
** IS_EBAN = ls_eban
** IS_EBKN = IS_EBKN
** IS_EBAN_TECH = IS_EBAN_TECH
* IV_EBAN_CHANGEID = xeban-kz
** IV_EBKN_CHANGEID = IV_EBKN_CHANGEID
** IV_EBAN_TECH_CHANGEID = IV_EBAN_TECH_CHANGEID
* .
ENDIF.
ENDLOOP.
DESCRIBE TABLE db_eban LINES sy-tfill.
IF sy-tfill GT 0.
INSERT eban FROM TABLE db_eban.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'EBAN'.
ENDIF.
REFRESH db_eban.
ENDIF.
*ESCRIBE TABLE DB_EBAN_U LINES SY-TFILL.
DESCRIBE TABLE tebav LINES sy-tfill.
IF sy-tfill GT 0.
* UPDATE EBAN FROM TABLE DB_EBAN_U.
UPDATE ebav FROM TABLE tebav.
IF sy-subrc NE 0.
MESSAGE a808 WITH 'EBAN'.
ENDIF.
* REFRESH DB_EBAN_U.
REFRESH tebav.
ENDIF.
*2. RUNDE --> UMFELDAKTIONEN
*------- Banfen verbuchen ---------------------------------------------*
LOOP AT xeban.
MOVE xeban TO eban.
*------- Neue Banf/Banfposition ---------------------------------------*
IF xeban-kz EQ 'I'.
*------- Index RSDB für Positionen mit ARSNR --------------------------*
IF NOT eban-arsnr IS INITIAL AND
NOT eban-arsps IS INITIAL.
CALL FUNCTION 'RSDB_CREATE_WITH_EBAN'
EXPORTING
banfn = eban-banfn
bnfpo = eban-bnfpo
rsnum = eban-arsnr
rspos = eban-arsps
EXCEPTIONS
parameters_not_specified = 02
record_already_exist = 03.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'RSDB'.
ENDIF.
ENDIF.
ENDIF.
*------- Geaenderte Banf/Banfposition ---------------------------------*
IF xeban-kz EQ 'U'.
*------- Index RSDB für Positionen mit ARSNR fortschreiben ------------*
MOVE-CORRESPONDING eban TO bsnkey.
READ TABLE oeban WITH KEY bsnkey BINARY SEARCH.
IF sy-subrc EQ 0.
IF eban-reswk NE oeban-reswk OR eban-matnr NE oeban-matnr.
*---- Lieferwerk oder Material hat sich geändert ----------------------*
*---- Umlagerungsindex für altes Lieferwerk/altes Material löschen ----*
IF oeban-reswk NE space AND oeban-bsakz NE 'R' AND
oeban-matnr NE space AND
oeban-ebakz EQ space AND
oeban-loekz EQ space AND
oeban-menge GT oeban-bsmng.
MOVE-CORRESPONDING oeban TO ebub.
MOVE ebub TO db_ebub_d.
APPEND db_ebub_d.
ENDIF.
*---- Umlagerungsindex für neues Lieferwerk/neues Material hinzufügen -*
IF eban-reswk NE space AND eban-bsakz NE 'R' AND
eban-matnr NE space AND
eban-ebakz EQ space AND
eban-loekz EQ space AND
eban-menge GT eban-bsmng.
MOVE-CORRESPONDING eban TO ebub.
MOVE ebub TO db_ebub.
APPEND db_ebub.
ENDIF.
ELSE.
* Umlagerungsindex aufbauen/löschen je nach Loekz und Ebakz
IF eban-reswk NE space AND eban-bsakz NE 'R' AND
eban-matnr NE space.
IF oeban-ebakz EQ space AND
oeban-loekz NE 'X' AND
oeban-menge GT oeban-bsmng AND
( eban-ebakz NE space OR eban-loekz EQ 'X' OR
eban-menge LE eban-bsmng ).
*--- löschen
MOVE-CORRESPONDING eban TO db_ebub_d.
APPEND db_ebub_d.
ELSE.
IF ( oeban-ebakz NE space OR oeban-loekz EQ 'X' OR
oeban-menge LE oeban-bsmng ) AND
eban-ebakz EQ space AND eban-loekz NE 'X' AND
eban-menge GT eban-bsmng.
*--- hinzufügen
MOVE-CORRESPONDING eban TO db_ebub.
APPEND db_ebub.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT eban-arsnr IS INITIAL AND
NOT eban-arsps IS INITIAL.
IF eban-loekz EQ space AND
oeban-loekz NE space AND
eban-estkz NE 'F'. "QNL
CALL FUNCTION 'RSDB_CREATE_WITH_EBAN'
EXPORTING
banfn = eban-banfn
bnfpo = eban-bnfpo
rsnum = eban-arsnr
rspos = eban-arsps
EXCEPTIONS
parameters_not_specified = 02
record_already_exist = 03.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'RSDB'.
ENDIF.
ENDIF.
IF eban-loekz NE space AND
oeban-loekz EQ space AND
eban-estkz NE 'F'.
CALL FUNCTION 'RSDB_DELETE_WITH_EBAN'
EXPORTING
banfn = eban-banfn
bnfpo = eban-bnfpo
rsnum = eban-arsnr
rspos = eban-arsps
EXCEPTIONS
parameters_not_specified = 01
record_not_exist = 02.
IF sy-subrc NE 0.
* MESSAGE a809 WITH 'RSDB'. "402007
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENHANCEMENT-POINT ehp603_me_update_requisition_3 SPOTS es_saplebnu_p2p.
*$*$-Start: EHP603_ME_UPDATE_REQUISITION_3------------------------------------------------------$*$*
ENHANCEMENT 3 MM_SFWS_EBNU. "active version
*-------Create change pointer for TREX
PERFORM trex_change_pointer USING xeban-banfn
xeban-kz.
ENDENHANCEMENT.
*$*$-End: EHP603_ME_UPDATE_REQUISITION_3------------------------------------------------------$*$*
IF lv_ehp4_sfws_p2pse EQ 'X'.
* MOVE-CORRESPONDING Xeban to ls_eban.
CALL FUNCTION 'ME_TREX_TRIGGER_PR'
EXPORTING
IV_BANFN = xeban-banfn
IV_BNFPO = xeban-bnfpo
IV_EBAN_CHANGEID = xeban-kz
* IT_CHANGED_PR = IT_CHANGED_PR
.
*
* CALL FUNCTION 'ME_TREX_TRIGGER_PR'
* EXPORTING
* IS_BANFN = xeban-banfn
* IS_BNFPO = xeban-bnfpo
** IS_EBAN = LS_EBAN
** IS_EBKN = IS_EBKN
** IS_EBAN_TECH = IS_EBAN_TECH
* IV_EBAN_CHANGEID = xeban-kz
** IV_EBKN_CHANGEID = IV_EBKN_CHANGEID
** IV_EBAN_TECH_CHANGEID = IV_EBAN_TECH_CHANGEID
* .
ENDIF.
ENDLOOP.
* Fortschreiben neuer Umlagerungsindizes
PERFORM ebub_fortschreiben TABLES db_ebub db_ebub_d.
REFRESH: db_ebkn.
*------- Kontierungen Loeschen ----------------------------------------*
LOOP AT yebkn.
MOVE yebkn TO oebkn.
IF oebkn-kz EQ 'D'.
* MOVE OEBKN TO EBKN.
MOVE-CORRESPONDING oebkn TO db_ebkn.
APPEND db_ebkn.
ENDIF.
ENDLOOP.
DESCRIBE TABLE db_ebkn LINES sy-tfill.
IF sy-tfill GT 0.
DELETE ebkn FROM TABLE db_ebkn.
IF sy-subrc NE 0.
MESSAGE a809 WITH 'EBKN'.
ENDIF.
REFRESH db_ebkn.
ENDIF.
REFRESH: db_ebkn, db_ebkn_u.
*------- Kontierungspositionen ----------------------------------------*
LOOP AT xebkn.
MOVE-CORRESPONDING xebkn TO ebkn.
*------ Kontierungsposition hinzufuegen -------------------------------*
IF xebkn-kz EQ 'I'.
MOVE-CORRESPONDING xebkn TO db_ebkn.
APPEND db_ebkn.
ENDIF.
*------ Kontierungsposition aendern -----------------------------------*
IF xebkn-kz EQ 'U'.
MOVE-CORRESPONDING xebkn TO db_ebkn_u.
APPEND db_ebkn_u.
ENDIF.
ENDLOOP.
DESCRIBE TABLE db_ebkn LINES sy-tfill.
IF sy-tfill GT 0.
INSERT ebkn FROM TABLE db_ebkn.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'EBKN'.
ENDIF.
REFRESH db_ebkn.
ENDIF.
DESCRIBE TABLE db_ebkn_u LINES sy-tfill.
IF sy-tfill GT 0.
UPDATE ebkn FROM TABLE db_ebkn_u.
IF sy-subrc NE 0.
MESSAGE a808 WITH 'EBKN'.
ENDIF.
REFRESH db_ebkn_u.
ENDIF.
*- Update Quota
CALL FUNCTION 'ME_UPDATE_QUOTA_FROM_REQ' "361414
TABLES
xeban = xeban
yeban = yeban.
* MM-PUR/APO #124738
* Interface BTE 01000710
IF CL_OPS_SWITCH_CHECK=>LO_MM_SD_SFWS_DM_SC( )
EQ CL_OPS_SWITCH_CHECK=>SWITCH_ACTIVE_TRUE AND LINES( DRS_ITEMS ) GT 0. "Perform the call only when DRS_ITEMS are filled
CALL FUNCTION 'OUTBOUND_CALL_01000710_E' "DRS items should be send over to APO
TABLES
T_XEBAN = xeban
T_XEBKN = xebkn
T_YEBAN = yeban
T_YEBKN = yebkn
IT_DRS_ITEMS = DRS_ITEMS.
ELSE.
CALL FUNCTION 'OUTBOUND_CALL_01000710_E'
TABLES
t_xeban = xeban
t_xebkn = xebkn
t_yeban = yeban
t_yebkn = yebkn
EXCEPTIONS
OTHERS = 1.
ENDIF.
*
*------- Update additional data PREXT NCF KH ----------------------*
DATA: lt_prext_db TYPE mereq_t_prext,
lt_prext_db_u TYPE mereq_t_prext,
ls_prext LIKE LINE OF lt_prext_db,
ls_xprext LIKE LINE OF xprext.
LOOP AT xprext INTO ls_xprext.
CLEAR ls_prext.
MOVE-CORRESPONDING ls_xprext TO ls_prext.
CASE ls_xprext-kz.
WHEN 'I'.
APPEND ls_prext TO lt_prext_db.
WHEN 'U'.
APPEND ls_prext TO lt_prext_db_u.
ENDCASE.
ENDLOOP.
DESCRIBE TABLE lt_prext_db LINES sy-tfill.
IF sy-tfill GT 0.
INSERT prext FROM TABLE lt_prext_db.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'PREXT'.
ENDIF.
ENDIF.
DESCRIBE TABLE lt_prext_db_u LINES sy-tfill.
IF sy-tfill GT 0.
UPDATE prext FROM TABLE lt_prext_db_u.
IF sy-subrc NE 0.
MESSAGE a808 WITH 'PREXT'.
ENDIF.
ENDIF.
*-------update x-fields in case of holding a document-----------------*
* mereqx can only contain entries in case of holding a document
CHECK NOT mereqx IS INITIAL.
DATA: lt_mereqx_db TYPE mereq_t_mereqx,
lt_mereqx_db_u TYPE mereq_t_mereqx,
lt_mereqx_db_d TYPE mereq_t_mereqx, " Note 1490525
l_tabname TYPE tabname, " Note 1490525
ls_mereqx LIKE LINE OF lt_mereqx_db,
ls_umereqx LIKE LINE OF mereqx.
LOOP AT mereqx INTO ls_umereqx.
CLEAR ls_mereqx.
MOVE-CORRESPONDING ls_umereqx TO ls_mereqx.
CASE ls_umereqx-kz.
WHEN 'I'.
APPEND ls_mereqx TO lt_mereqx_db.
WHEN 'U'.
APPEND ls_mereqx TO lt_mereqx_db_u.
WHEN 'D'. " Note 1490525
APPEND ls_mereqx to lt_mereqx_db_d. " Note 1490525
ENDCASE.
ENDLOOP.
DESCRIBE TABLE lt_mereqx_db LINES sy-tfill.
IF sy-tfill GT 0.
INSERT mereqx FROM TABLE lt_mereqx_db.
IF sy-subrc NE 0.
MESSAGE a807 WITH 'MEREQX'.
ENDIF.
ENDIF.
DESCRIBE TABLE lt_mereqx_db_u LINES sy-tfill.
IF sy-tfill GT 0.
UPDATE mereqx FROM TABLE lt_mereqx_db_u.
IF sy-subrc NE 0.
MESSAGE a808 WITH 'MEREQX'.
ENDIF.
ENDIF.
L_TABNAME = 'MEREQX'. " Note 1490525
DESCRIBE TABLE lt_mereqx_db_d LINES sy-tfill. " Note 1490525
IF sy-tfill GT 0. " Note 1490525
DELETE (l_tabname) FROM table lt_mereqx_db_d. " Note 1490525
IF sy-subrc NE 0. " Note 1490525
MESSAGE a809 WITH 'MEREQX'. " Note 1490525
ENDIF. " Note 1490525
ENDIF. " Note 1490525
ENDFUNCTION.
PR 修改保存的增强 ME_UPDATE_REQUISITION的更多相关文章
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...
- ubuntu13.04如何修改保存屏幕亮度
ubuntu13.04如何修改保存屏幕亮度 入手ubuntu两月有余,最初只是想装个ubuntu学习下linux,然后搞了个win7和ubuntu的双系统,最后干脆将win7干掉了,直接让ubu ...
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- 2018-8-10-win10-uwp-如何创建修改保存位图
title author date CreateTime categories win10 uwp 如何创建修改保存位图 lindexi 2018-08-10 19:16:50 +0800 2018- ...
- opencv 加载 修改 保存 图像
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; /* 1 加载图像 cv::imre ...
- ubuntu 修改保存报错E37:No write since last change(add ! to override)的解决方法
报错信息如下: E37: No write since last change (add ! to override) 解决办法是: 在修改完后,将命令 :q 改成 :wq 即可.
- PR修改例子
DATA: lt_items_old LIKE TABLE OF bapiebanv WITH HEADER LINE. DATA: lt_items_new LIKE TABLE ...
- 从SuperSocket的App.config中读取配置,并修改保存,再重启服务
string XmlPath = System.Windows.Forms.Application.ExecutablePath + ".config"; XmlDocument ...
- SAP 常用增强记录文档
转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...
随机推荐
- C# Updating
闪开,这篇博文仅作笔记C#处理. 用来记录在学习/使用C#的过程中的Point,持续更新或成文后大幅删减 1,定义类,当声明类的对象后,类中的方法并不会被执行,构造函数会在声明类的对象时,被触发,没有 ...
- H5在ios弹窗状态下调起输入法后关闭输入法页面元素错位解决办法
最近开发移动端,有个需求:点击退款弹出文本框和发送短信按钮,输入手机号码和验证码确定退款. 发现安卓手机没毛病,但是在ios手机上点击文本框调起输入法,此时点击完成或者关闭输入法就无法正常操作了,肉眼 ...
- OO第二单元博客
三次作业的设计策略 第一次作业 多线程协同控制 第一次作业只需要两个线程和一个公共缓冲区: 负责读取输入并把它添加进命令队列的线程,即生产者 负责从命令队列中取出命令执行的线程,即消费者 再加上一个缓 ...
- 71.mybatis 如何获取插入的id【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 在之前的文章已经讲过spring boot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,sprin ...
- 数据归一化Feature Scaling
数据归一化Feature Scaling 当我们有如上样本时,若采用常规算欧拉距离的方法sqrt((5-1)2+(200-100)2), 样本间的距离被‘发现时间’所主导.尽管5是1的5倍,200只是 ...
- [Go]接口的运用
在Go语言中,不能通过调用new函数或make函数创建初一个接口类型的值,也无法用字面量来表示一个接口类型的值.可以通过关键字type和interface声明接口类型,接口类型的类型字面量与结构体类型 ...
- Codevs 2693 上学路线(施工)
时间限制: 2 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 问题描述 你所在的城市街道好像一个棋盘,有a条南北方向的街道和b条东西方向的街道. 南 ...
- 指针与数组的对比(——选自:C++内存管理技术内幕)
数组: 数组要么是在静态存储区上创建(如全局数组),要么是在栈上创建的.数组名代表着 段连续的内存,其地址和容量在生命周期内是不会改变的,而只能改变其数组内容. 指针: 指针是一种指针类型的变量,变量 ...
- msp430项目编程000
msp430中项目---LED数码管显示 1.数码管介绍 2.代码(直接使用引脚驱动) 3.代码(使用译码器驱动) 4.项目总结 msp430项目编程 msp430入门学习
- codeforces 1041 c 乱搞
#include <bits/stdc++.h> using namespace std; struct po { int val; int id; }; po a[]; vector&l ...