PP实施经验分享(13)——SAP中BOM查询技巧CS11/CS12/CS13/CS14/CS15/CSMB

PP实施经验分享(6)——SAP中BOM查询技巧CS11/CS12/CS13/CS14/CS15/CSMB

项目中经常会遇到查询BOM信息,这里简单介绍几个SAP标准查询BOM的功能,也可以通过这些有关功能函数进行相关开发报表的工作。

CS11:逐层 BOM
中间层物料会再形成一个层级结构
CS12: 逐层 BOM
每个层级下阶组件会单独显示
在这里插入图片描述
CS13:汇总 BOM
直接将查询物料所有组件展示出,并排除中间层级件的物料
在这里插入图片描述
CS14:物料间BOM比较
在这里插入图片描述
CS15:反查BOM,查询到最上层总成料号OR 上一层物料
在这里插入图片描述
CSMB:物料BOM阅览器与CS11类似,更加形象化
在这里插入图片描述

``` #include <STC15F2K60S2.H> #include <IIC.H> #include <key.H> #include <smg.H> #include <led.H> #include <shaosheng.H> #include <onewire.H> #include <chuanko.H> #include <init.H> #include <DS1302.H> #include "stdio.h" #include "intrins.h" #define SCK P35 #define MISO P36 float t[29]; unsigned char i=1; unsigned int ma[40]; float ma2[20]; unsigned char l; unsigned char n=1; unsigned int a=20,shang,xia; unsigned int upper=10; unsigned int lower=10; unsigned int jiesho[30]={20,20,20,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30}; float max, min; unsigned char q; void find_max_min(float arr[], int siz, int* max, int* min) ; void Delay500ms(void) { unsigned char data i, j, k; _nop_(); _nop_(); i = 23; j = 205; k = 120; do { do { while (--k); } while (--j); } while (--i); } // SPI ????,??24?CS?? unsigned int SPI_Read(unsigned char csIndex) { unsigned int dat = 0; unsigned char i; // ?????SPI?? switch(csIndex) { case 0: CS0 = 0; break; case 1: CS1 = 0; break; case 2: CS2 = 0; break; case 3: CS3 = 0; break; case 4: CS4 = 0; break; case 5: CS5 = 0; break; case 6: CS6 = 0; break; case 7: CS7 = 0; break; case 8: CS8 = 0; break; case 9: CS9 = 0; break; case 10: CS10 = 0; break; case 11: CS11 = 0; break; case 12: CS12 = 0; break; case 13: CS13 = 0; break; case 14: CS14 = 0; break; case 15: CS15 = 0; break; case 16: CS16 = 0; break; case 17: CS17 = 0; break; case 18: CS18 = 0; break; case 19: CS19 = 0; break; case 20: CS20 = 0; break; case 21: CS21 = 0; break; case 22: CS22 = 0; break; case 23: CS23 = 0; break; default: break; } // ??16??? for (i = 0; i < 16; i++) { SCK = 1; // ????? dat <<= 1; if (MISO == 1) { dat |= 0x01; // ???? } SCK = 0; // ????? } // ?????SPI?? switch(csIndex) { case 0: CS0 = 1; break; case 1: CS1 = 1; break; case 2: CS2 = 1; break; case 3: CS3 = 1; break; case 4: CS4 = 1; break; case 5: CS5 = 1; break; case 6: CS6 = 1; break; case 7: CS7 = 1; break; case 8: CS8 = 1; break; case 9: CS9 = 1; break; case 10: CS10 = 1; break; case 11: CS11 = 1; break; case 12: CS12 = 1; break; case 13: CS13 = 1; break; case 14: CS14 = 1; break; case 15: CS15 = 1; break; case 16: CS16 = 1; break; case 17: CS17 = 1; break; case 18: CS18 = 1; break; case 19: CS19 = 1; break; case 20: CS20 = 1; break; case 21: CS21 = 1; break; case 22: CS22 = 1; break; case 23: CS23 = 1; break; default: break; } // ??????????? if (dat == 0) { return 0; // ?????0,?????????? } return dat; // ?????16??? } // ?????? float Get_Temperature(unsigned char ma) { unsigned int dat = 0; unsigned int sum = 0; unsigned char i; // ????????? for (i = 0; i < 10; i++) { dat = SPI_Read(ma); // ?????????????SPI?? if (dat >4000) { return 0; // ???????0,??0.0???????? } dat >>= 3; // ???? sum += dat; } dat = sum / 10; // ????? return (float)(dat * 0.25); // ?????? } void Timer0_Init(void) //10??@12.000MHz { AUXR &= 0x7F; //?????12T?? TMOD &= 0xF0; //??????? TL0 = 0x60; //??????? TH0 = 0x1f; //??????? TF0 = 0; //??TF0?? TR0 = 1; //???0???? ET0=1; EA=1; }```简化下代码
最新发布
03-08
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值