2022.9.13采购订单批导程序记录

读取EXCEL文件到内表功能

FORM  sub_excel_data.
"读取EXCEL文件到SAP内表

DATA :  lt_dd03p  TYPE  TABLE OF dd03p  WITH HEADER LINE.
DATA:   lt_intern   TYPE  TABLE OF alsmex_tabline  WITH  HEADER LINE,
			l_type.

DATA: ls_data  TYPE REF  TO data.

FIELD-SYBOLS:  <ls_data>,
							<comp>.

*获取内表列信息得到列数SY-TFILL
CREATE DATA ls_data LIKE LINE OF gt_excel.
ASSIGN ls_data->* TO <ls_data>.							"  需要百度
CALL FUNCTION 'DDIF_TABL_GET'						"   DDIF_TABL_GET: 获得表的相关信息
																				"   DDIF_TABL_PUT: 设置表的相关信息
																				"   DDIF_TABL_GET: 激活透明表
EXPORTING
      name          = gc_struc
      langu         = sy-langu
    TABLES
      dd03p_tab     = lt_dd03p
    EXCEPTIONS
      illegal_input = 1
      OTHERS        = 2.

DELETE lt_dd03p WHERE fieldname(1) EQ '.'.

*得到列数
DESCRIBE  TABLE lt_dd03p   LINES  sy-tfill.
”DESCRIBE  TABLE  作用为 :判断内表itab的某些属性并把它们指定到指定的变量中。不同的选项是你能够判断表类型,当前字段行数和初始化需要的内存大小。
另外,系统字段sy-tfill和 sy-tleng 保存着当前表行数量 和 以字节计的表行长度。
lines   表示计算内表  lt_dd03p的行数,将行数放到sy-tfill里
sy-tfill = sy-tfill + 1.

* 读取EXCEL文件到内表
CALL  FUNCTION  'ALSM_EXCEL_TO_INTERNAL_TABLE'
	EXPORTING
		filename							= pa_path
		i_begin_col						= 2
		i_begin_row						= 10
		i_end_col							= sy-tfill
		i_end_row						= 65536
	TABLES
		intern								= lt_intern
	EXCEPTIONS	
		inconsistent_parameters  = 1
		upload_ole						 = 2
		others								 = 3.

IF sy-subrc  <> 0.
	MESSAGE  e038(pc).    
ENDIF.

“检查内表中的数据
LOOP  AT lt_intern.
	
	AT NEW  row.
		CLEAR <ls_data>.
	ENDAT.

"分配字段到对象
	ASSIGN  COMPONENT  lt_intern-col  of structure  <ls_data>  to  <comp>.

" 取得字段类型
	DESCRIBE  FIELD  <comp>  TYPE  l_type.
	CASE  l_type.
			"检查日期型
			WHEN  'D' .
				"检查是否为日期
				CALL FUNCTION 'RP_01C_FORMAL_DATE_CHECK'
          			EXPORTING
           				 i13_datum        = lt_intern-value
         			EXCEPTIONS
            			no_date_input    = 1
            			date_not_numeric = 2
            			invald_date      = 3
            			OTHERS           = 4.
			
			IF  sy-subrc <> 0.
				lt_inern-row  = lt_intern-row + 1.

				MESSAGE  ID  'UX'  TYPE 'E'  NUMBER '899'
							WITH  l_type lt_intern-value lt_intern-col
							lt_intern-row.
				ENDIF.
			WHEN 'P'
				"检查数字型
				IF  lt_intern-value  CO '0123456790'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP采购订单定价策略是指在SAP系统中对采购订单的定价进行管理的策略。在SAP系统中,可以根据不同的需求和条件,设置不同的采购订单定价策略。 首先,SAP采购订单定价策略可以基于供应商的价格条件进行设置。系统可以根据供应商的价格表或合同价格来确定采购订单的定价。通过与供应商的价格条件进行匹配,可以确保采购订单的价格与合同或协议一致,避免出现价格差异或纠纷。 其次,SAP采购订单定价策略还可以考虑市场价格和竞争关系。系统可以根据市场价格变动和竞争对手的定价情况,自动调整采购订单的定价。这样可以确保采购订单的定价具有竞争力,同时也可以及时应对市场价格波动的影响。 此外,SAP采购订单定价策略还可以基于采购数量和采购单位进行设置。系统可以根据不同的采购数量和采购单位,确定不同的定价条件。例如,根据数量的不同,可以享受不同的折扣或优惠;而根据采购单位的不同,可以确定不同的单位价格。 最后,SAP采购订单定价策略还可以根据结算方式进行设置。系统可以根据不同的结算方式,如预付款、分期付款或按订单完成后结算等,确定采购订单的定价。这样可以根据供应商与采购方之间的协商,灵活地确定采购订单的定价方式。 总之,SAP采购订单定价策略提供了多种灵活的设置方式,可以根据供应商的价格条件、市场价格和竞争关系、采购数量和单位以及结算方式等因素进行调整和管理,确保采购订单的定价准确、合理和竞争力强。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值