WIP 投料报 Invalid Serial Number
DELETE FROM MTL_SERIAL_NUMBERS_TEMP
WHERE
TRANSACTION_TEMP_ID = :b1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 4 0 0
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.00 0.00 0 4 0 0
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.00 0.00
********************************************************************************
SQL ID: 9mq64qp6s994x Plan Hash: 0
INSERT INTO MTL_SERIAL_NUMBERS_TEMP ( TRANSACTION_TEMP_ID , LAST_UPDATE_DATE ,
LAST_UPDATED_BY , CREATION_DATE , CREATED_BY , LAST_UPDATE_LOGIN ,
REQUEST_ID , PROGRAM_APPLICATION_ID , PROGRAM_ID , PROGRAM_UPDATE_DATE ,
VENDOR_SERIAL_NUMBER , VENDOR_LOT_NUMBER , FM_SERIAL_NUMBER ,
TO_SERIAL_NUMBER , SERIAL_PREFIX , ERROR_CODE , GROUP_HEADER_ID ,
PARENT_SERIAL_NUMBER , PRODUCT_TRANSACTION_ID , PRODUCT_CODE ,
PARENT_OBJECT_ID , PARENT_OBJECT_TYPE , PARENT_OBJECT_ID2 ,
PARENT_OBJECT_TYPE2 )
VALUES
( :b1 , :b2 , :b3 , :b4 , :b5 , :b6 , :b7 , :b8 , :b9 , :b10 , :b11 , :b12 ,
:b13 , :b14 , :b15 , :b16 , :b17 , :b18 , :b19 , :b20 , :b21 , :b22 , :b23 ,
:b24 )
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 2 0.02 0.02 0 0 10 2
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.02 0.02 0 0 10 2
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.00 0.01
SQL*Net more data from client 2 0.00 0.00
********************************************************************************
Log file descriptor
Log ON state
:= '_' ;
:= NULL ;
FND_GLOBAL.CONC_REQUEST_ID;
;
3559334 fix. Variable not used in code, but resulting in
calls to fnd api.
number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
Since the forms-server and MWA server recycles database connections
we need to always check for debug profiles values and see if they
are different from the values with which it was initialized earlier. If
different then reinitialize the debug variables
long l2, long l3)
throws InvTrxException
{
int j1 = getGroupId(i, j);
int k1 = l;
Object obj = null;
int i2 = -1;
if(TrxUtil.isTraceEnabled)
{
TrxUtil.log("Came here inside of validate serial status", 1);
TrxUtil.log("SrcTypeId = " + i + ",ActId=" + j + ",SerCtrl+" + k + ",CurStatus=" + l + ",TrxGroup=" + j1 + " ,LstTxnSrcTypId=" + l1 + ",xfrSerCtrl=" + i1 + ",mOrigWipEntId=" + l2 + ",TrxSrcId=" + l3);
}
switch(j1)
{
default:
break;
case 1: // '\001'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SO_RMA_GROUP. isIssue true");
if(k == 2 || k == 3 || k == 5)
{
if(i == 8 && j == 21)
{
if(l == 3)
{
if(i1 == 1)
k1 = 4;
else
k1 = 5;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status for Int. Order Intransit ship1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SO_RMA_GROUP");
}
} else
if(l == 3)
{
if(i == 8 && j == 3 && i1 == 6)
k1 = 1;
else
k1 = 4;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Issue1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SO_RMA_GROUP");
}
} else
if(k == 6)
if(i == 8 && j == 21)
{
if(l == 1 || l == 3 || l == 6)
{
if(i1 == 1)
k1 = 4;
else
k1 = 5;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status for Int. Order Intransit ship2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
} else
if(l == 1 || l == 3)
{
if(i == 8 && j == 3 && i1 == 6)
k1 = 1;
else
k1 = 4;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Issue2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SO_RMA_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(l == 1 || l == 4)
{
k1 = 3;
break;
}
if((i == 12 || i == 7) && (l == 5 || l == 7))
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if(k == 5)
{
if(l == 1 || l == 4)
{
k1 = 3;
break;
}
if((i == 12 || i == 7) && (l == 5 || l == 7))
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if(k != 6)
break;
if(l1 == 12L && l == 1 && TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP- Trying to receive the SerialNumber that is already received thro RMA :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if((i == 7 || j == 12) && (l == 5 || l == 7))
{
k1 = 1;
break;
}
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt3 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
case 2: // '\002'
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SUB_XFER_GROUP:Came here inside", 1);
if(k != 2 && k != 3 && k != 5)
break;
if(flag && l == 3)
{
k1 = 4;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus Newstatus= " + k1, 1);
break;
}
if(!flag && (l == 4 || l == 3))
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in SUBXFER_GRP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SuvXfer_Grp");
case 3: // '\003'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:INTRANS_GROUP. isIssue true");
if(k != 2 && k != 3 && k != 5)
break;
if(l == 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("-----> Inside isIssue of INTRANS_GROUP");
if(i1 == 1)
k1 = 4;
else
k1 = 5;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN group: curstat=" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:INTRANS_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(k == 5)
{
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(k != 6)
break;
if((l == 5 || l == 7) && (i == 7 || j == 12))
{
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
case 4: // '\004'
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:PACKUNPACK_GROUP.");
if(flag && l == 3)
{
k1 = 4;
break;
}
if(!flag && (l == 4 || l == 3))
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
k1 = 3;
break;
}
if(l == 3 || l == 5 && l1 == 5L)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in PACKUNPACK_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in PACKUNPACK_GROUP ");
case 6: // '\006'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:LOT_TRX_GROUP. isIssue true");
if(j == 40 || j == 41)
{
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
k1 = 3;
break;
}
if(j != 42)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:Issue:TA_LOTTRANS");
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP for lot trans :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:Issue:TA_LOTTRANS: newStatus SN_NOTUSED");
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:LOT_TRX_GROUP. isIssue false");
if(j == 40 || j == 41)
{
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
k1 = 3;
break;
}
if(j != 42)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:!Issue:TA_LOTTRANS:CurSTatus=> " + l);
if(l == 1 || l == 6 || l == 3)
{
k1 = 3;
break;
}
if(l != 4)
break;
if(TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
{
TrxUtil.log("CASE LOT_TRX_GROUP:Receipt of Issued Out Serials Not allowed :CurSTatus=> " + l);
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
}
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
k1 = 3;
break;
case 5: // '\005'
if(i == 5)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. srcType WIP, action:" + j);
if(j == 31 || j == 32)
try
{
PSChkWipEtyTyp.setLong(1, l3);
ResultSet resultset = PSChkWipEtyTyp.executeQuery();
if(resultset.next())
i2 = resultset.getInt(1);
resultset.close();
}
catch(Exception exception)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log(" Ex. in getting wip entity id" + exception);
}
if((j == 31 && l != 1 && l1 != 5L || j == 32 && l1 == 5L) && l2 == -1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: Wip entity id is null", 1);
if(i2 != 6 && i2 != 7)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: Not an EAM job and Wip entity id is null", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GROUP ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("EAM job and Wip entity id is null, it is ok!!", 1);
}
if(j == 31 && l == 4 && l1 == 5L && l2 != 0L && l3 != 0L && i2 == 1 && l2 != l3 && TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: This serial was returned through some other job and can not be used for the current job ", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GROUP ");
}
}
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. isIssue true");
if(k != 2 && k != 3 && k != 5)
break;
if(l == 3)
{
k1 = 4;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Issue1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(i == 5)
{
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
} else
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.restrictRcptSerial && j == 31 && l == 4 && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(l == 1 || l == 4)
{
if(j == 3 && i1 == 6)
k1 = 1;
else
k1 = 3;
break;
}
if(i == 1 && l == 5 && l1 != 8L && l1 != 13L || i == 5 && l == 5 && l1 != 8L && l1 != 13L || i == 1 && l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Rcpt1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(k != 5)
break;
if(i == 5)
{
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
} else
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.restrictRcptSerial && j == 31 && l == 4 && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(l == 1 || l == 4)
{
if(j == 3 && i1 == 6)
k1 = 1;
else
k1 = 3;
break;
}
if(i == 1 && l == 5 && l1 != 8L && l1 != 13L || i == 5 && l == 5 && l1 != 8L && l1 != 13L || i == 1 && l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
return k1;
}
TrxUtil.log("SrcTypeId = " + i + ",ActId=" + j + ",SerCtrl+" + k + ",CurStatus=" + l + ",TrxGroup=" + j1 + " ,LstTxnSrcTypId=" + l1 + ",xfrSerCtrl=" + i1 + ",mOrigWipEntId=" + l2 + ",TrxSrcId=" + l3);
TrxUtil.log("Invalid status in STD_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
:= 5; --mtl_txn_source_types--生产管理
WIP 投料报 Invalid Serial Number的更多相关文章
- 解决软件卸载时Abstract: "Invalid serial number" xe4
In RAD Studio, Delphi, C++Builder, XE4 there can become a scenario if you try to modify, repair, upg ...
- nginx 报invalid pid number
/opt/ibis/sbin/nginx -c /opt/ibis/conf/nginx.conf 这是make make install之后生成的文件夹和文件. -c c是configure的缩写 ...
- win8(x64)下,重新安装delphi 2007时出现“Invalid Serial Number”,如何解决?
1)在添加删除程序里卸载delphi 2007 2)删除C:\ProgramData\CodeGear 3)删除C:\Program Files (x86)CodeGear 4)删除d:\Progra ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- Source insight 3572版本安装及An invalid source insight serial number was detected解决方法
Source insight有最新版3572.3.50.0076 下载连接:http://www.sourceinsight.com/down35.html, http://www.sourcei ...
- 【排障】nginx在reload时候报错invalid PID number
nginx在reload时候报错invalid PID number nginx重新加载配置文件时候报错,提示无效的PID: 解决的办法有二: 第一种思路是因为是加载配置文件报的错,所以用-c 选项指 ...
- Source insight 3572安装和版本号An invalid source insight serial number was detected解
Source insight最新版本3572 下载链接:http://www.sourceinsight.com/down35.html, http://www.sourceinsight.com ...
- nginx重启报错:nginx: [error] invalid PID number "" in "/run/nginx.pid"
问题描述:执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number “” in “/run/ngin ...
- Centos7.5中Nginx报错:nginx: [error] invalid PID number "" in "/run/nginx.pid" 解决方法
服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number "" ...
随机推荐
- Win10无法删除文件提示“你需要来自system的权限”
不得不说win10的管理权限非常迷 windows10用户在删除文件时,就会遇到错误提示"你需要来自SYSTEM的权限才可以对此文件夹进行更改".以下是具体解决方法. 解决方案 ...
- vscode 搭建go开发环境的13个插件的安装
由于网的问题 大家都不能直接go get 这里从易到难按难度给大家推荐几种方法 最简单的FQ 但是能FQ你还不能装 请问是假的FQ吗? 第一 用git 直接git反而能从那边趴下代码 但是要自己go ...
- Java反射异常:java.lang.NoSuchFieldException
版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. 今天用反射给对象赋值,有一个属性始终报错,主要错误信息如下: ...
- JavaScript正则表达式模式匹配(5)——特殊字符匹配、换行模式
特殊字符匹配 var pattern=/\[/; // 用\符号来转义正则里的特殊字符才能匹配 var str='['; alert(pattern.test(str)); 换行模式 var patt ...
- ACM Adding Reversed Numbers(summer2017)
The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancien ...
- jQuery 遍历 – 过滤
缩小搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...
- Jmeter(七)_if控制器+循环控制器+计数器控制接口分支
最近查阅了一下网上关于if控制器的文章,大同小异,几乎找不到原创,于是决定自己写一篇 下午测试接口,遇到了一个审核的流程.逻辑很简单,就是审核不通过之后返回去继续修改再提交,然后再审核,直到通过为止. ...
- 作业03-面向对象入门.md
1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系.步骤如下: 1.1 写出你 ...
- 20160214.CCPP体系详解(0024天)
程序片段(01):CGI.c 内容概要:CGI-cloud #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main01(vo ...
- Objective-C语法概述
Objective-C语法概述 简称OC 面向对象的C语言 完全兼容C语言 可以在OC里面混入C/C++代码 可以开发IOS和Mac OS X平台应用 语法预览 关键字 基本上都是以@开头(为了与C语 ...